Last active
September 7, 2016 14:21
-
-
Save nicolasramy/6438236 to your computer and use it in GitHub Desktop.
My personnal dotfiles configuration for Gnu Screen, Vim, Bash for system administration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Aliases | |
alias refresh-source='source $HOME/.bashrc' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Bash Functions | |
# | |
# Generate MD5 of passed parameter | |
# | |
# $ md5 darkelda | |
# 2b1e76a869f50dbd6e5cb20311e6073a | |
# | |
md5() { | |
echo -n $1 | md5sum | |
} | |
# | |
# Retrieve external IP | |
# | |
# $ myip | |
# xx.xx.xxx.xxx | |
# | |
myip() { | |
curl ifconfig.me | |
} | |
# | |
# Return current datetime | |
# | |
# $ curdate | |
# 2014-07-21 15:25:04 | |
# | |
curdate() { | |
date +'%Y-%m-%d %H:%M:%S' | |
} | |
# | |
# Return current date mark | |
# | |
# $ datetime-mark | |
# 20140721 | |
# | |
date-mark() { | |
date +'%Y%m%d' | |
} | |
# | |
# Return current datetime mark | |
# | |
# $ datetime-mark | |
# 2014-07-21 15:25:04 | |
# | |
datetime-mark() { | |
date +'%Y%m%d%H%M%S' | |
} | |
# | |
# Extract random lines from a source file | |
# | |
# $ randomize-file input.file 100 > output.file | |
# | |
randomize-file() { | |
cat $1 | shuf | head -n $2 | |
} | |
# | |
# Kill a processus based on its name | |
# !! BE EXTREMLY CAREFUL WHEN USED!! | |
# | |
# $ fkill zombie_script.py | |
# | |
fkill() { | |
ps -ef | grep $1 | grep -v grep | awk '{print $2}' | xargs kill -9 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Bash Functions - CakePHP | |
# | |
cakephp() { | |
alias cake='lib/Cake/Console/cake' | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Bash Functions - Magento | |
# | |
magento-list-events() { | |
grep -rin -B2 -A2 "Mage::dispatchEvent" app/* | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Bash Functions - Python | |
# | |
venv-activate() { | |
source ~/.virtualenvs/$1/bin/activate | |
} | |
venv-list() { | |
ls ~/.virtualenvs/ | |
} | |
venv-create() { | |
virtualenv ~/.virtualenvs/$1 | |
} | |
venv-remove() { | |
rm -Rf ~/.virtualenvs/$1 | |
} | |
clean_pyc() { | |
find . -name \*pyc -exec rm {} + | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# uncomment for a colored prompt, if the terminal has the capability; turned | |
# off by default to not distract the user: the focus in a terminal window | |
# should be on the output of commands, not on the prompt | |
force_color_prompt=yes | |
if [ -n "$force_color_prompt" ]; then | |
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then | |
# We have color support; assume it's compliant with Ecma-48 | |
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such | |
# a case would tend to support setf rather than setaf.) | |
color_prompt=yes | |
else | |
color_prompt= | |
fi | |
fi | |
if [ "$color_prompt" = yes ]; then | |
PS1='${debian_chroot:+($debian_chroot)}$(__git_ps1 "(%s)")\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' | |
else | |
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' | |
fi | |
unset color_prompt force_color_prompt | |
# If this is an xterm set the title to user@host:dir | |
case "$TERM" in | |
xterm*|rxvt*) | |
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" | |
;; | |
*) | |
;; | |
esac | |
# enable color support of ls and also add handy aliases | |
if [ -x /usr/bin/dircolors ]; then | |
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" | |
alias ls='ls --color=auto' | |
#alias dir='dir --color=auto' | |
#alias vdir='vdir --color=auto' | |
alias grep='grep --color=auto' | |
alias fgrep='fgrep --color=auto' | |
alias egrep='egrep --color=auto' | |
fi | |
# some more ls aliases | |
alias ll='ls -lh' | |
alias la='ls -lha' | |
#alias l='ls -CF' | |
alias c='clear' | |
# Alias definitions. | |
# You may want to put all your additions into a separate file like | |
# ~/.bash_aliases, instead of adding them here directly. | |
# See /usr/share/doc/bash-doc/examples in the bash-doc package. | |
if [ -f ~/.bash_functions ]; then | |
. ~/.bash_functions | |
fi | |
if [ -f ~/.bash_functions_python ]; then | |
. ~/.bash_functions_python | |
fi | |
if [ -f ~/.bash_functions_cakephp ]; then | |
. ~/.bash_functions_cakephp | |
fi | |
if [ -f ~/.bash_functions_magento ]; then | |
. ~/.bash_functions_magento | |
fi | |
# Alias definitions. | |
# You may want to put all your additions into a separate file like | |
# ~/.bash_aliases, instead of adding them here directly. | |
# See /usr/share/doc/bash-doc/examples in the bash-doc package. | |
if [ -f ~/.bash_aliases ]; then | |
. ~/.bash_aliases | |
fi | |
# enable programmable completion features (you don't need to enable | |
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile | |
# sources /etc/bash.bashrc). | |
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then | |
. /etc/bash_completion | |
fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ------------------------------------------------------------------------------ | |
# SCREEN SETTINGS | |
# ------------------------------------------------------------------------------ | |
startup_message off | |
#nethack on | |
#defflow on # will force screen to process ^S/^Q | |
deflogin on | |
autodetach on # Force detachment (default: off) | |
# turn visual bell on | |
vbell off | |
#vbell_msg " Wuff ---- Wuff!! " | |
# define a bigger scrollback, default is 100 lines | |
defscrollback 16384 | |
# ------------------------------------------------------------------------------ | |
# SCREEN KEYBINDINGS | |
# ------------------------------------------------------------------------------ | |
# Remove some stupid / dangerous key bindings | |
bind ^k | |
#bind L | |
bind ^\ | |
# Make them better | |
bind \\ quit | |
bind K kill | |
bind I login on | |
bind O login off | |
bind } history | |
# An example of a "screen scraper" which will launch urlview on the current | |
# screen window | |
# | |
#bind ^B eval "hardcopy_append off" "hardcopy -h $HOME/.screen-urlview" "screen urlview $HOME/.screen-urlview" | |
# ------------------------------------------------------------------------------ | |
# TERMINAL SETTINGS | |
# ------------------------------------------------------------------------------ | |
# The vt100 description does not mention "dl". *sigh* | |
termcapinfo vt100 dl=5\E[M | |
# turn sending of screen messages to hardstatus off | |
hardstatus alwayslastline | |
# Set the hardstatus prop on gui terms to set the titlebar/icon title | |
termcapinfo xterm*|rxvt*|kterm*|Eterm* hs:ts=\E]0;:fs=\007:ds=\E]0;\007 | |
# use this for the hard status string | |
#hardstatus string "%h%? users: %u%?" | |
# %H : hostname | |
# %t : window title | |
# %F : sets %? to true if the window has the focus | |
# %h : hard status of the window | |
# %S : session name | |
# %c : current time HH:MM in 24h format | |
# %Y : full year number | |
# %m : month number | |
# %d : day number | |
# %s : seconds | |
# %n : window number | |
# %t : window title | |
# %{= kw} clear all attributes write in white on black background | |
# %{= dw} clear all attributes write in white on default background | |
#hardstatus string "%{= dw}%{+b}screen@%H:%S %{-b}%{+d}[%n %t%? [%h]%?] %= %{-d} [%{r}%l%{w}]%{w} [%Y-%m-%d %c:%s]" | |
hardstatus string "%{= dw}%{+b}screen@%H %{-b}%{+d}%-Lw%{db}%50>[%n %t]%{-}%+Lw%< %=%{-d} [%{r}%l%{w}]%{w} [%Y-%m-%d %c:%s]" | |
# An alternative hardstatus to display a bar at the bottom listing the | |
# windownames and highlighting the current windowname in blue. (This is only | |
# enabled if there is no hardstatus setting for your terminal) | |
# | |
#hardstatus lastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" | |
# set these terminals up to be 'optimal' instead of vt100 | |
termcapinfo xterm*|linux*|rxvt*|Eterm* OP | |
# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E> | |
# (This fixes the "Aborted because of window size change" konsole symptoms found | |
# in bug #134198) | |
termcapinfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l' | |
# To get screen to add lines to xterm's scrollback buffer, uncomment the | |
# following termcapinfo line which tells xterm to use the normal screen buffer | |
# (which has scrollback), not the alternate screen buffer. | |
# | |
#termcapinfo xterm|xterms|xs|rxvt ti@:te@ | |
# Enable non-blocking mode to better cope with flaky ssh connections. | |
defnonblock 5 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
syntax on | |
set number | |
set tabstop=4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment