====== Configuration of some software ====== ===== Linux ===== ==== Your own locale ==== Maybe you don't like any predefined locale ; it was my case. [[http://crteknologies.fr/wiki/lib/exe/fetch.php?media=linux:en_fr_euro.txt|Here]] you can find a "en_FR@euro" locale that I have defined : * English messages (because french messages are often strangely translated, and there is less information on the internet) * "yyyy/mm/dd hh:mm:ss" date format, because it is logical, and alphanumerical sort is date sort ! * "." as decimal separator, because even French people do not write "," with a keyboard ... * " " (space) as thousands separator, because it is the French standard, and not so bad * French monetary (except decimal and thousands separators) * French for other features (telephone, address, measurement etc) Rename the file to "en_FR@euro", and copy it in ''/usr/share/i18n/locales'' (you will find there all other locales, and you can look at it to make your own locale). Add "en_FR@euro ISO-8859-15" (or UTF8) to ''/etc/locale.gen'', and run ''locale-gen''. Now you can use the ''en_FR@euro.ISO-8859-15'' locale by exporting LC_ALL environment variable in your bashrc or zshrc or zshenv file, or even in ''/etc/env.d/02locale'' to set it for all users. ===== ZSH ===== ==== Config files ==== As for all shells, there are several configuration files, loaded in the order : .zshenv --> always loaded, first .zprofile --> loaded if login shell .zshrc --> loaded if interactive shell .zlogin --> loaded when a user logins .zlogout --> loaded when a user logouts ==== Prompt ==== A nice prompt which prints only the two first and two last folder names of the current path (instead of the whole path or only the last folder) : if [ "`id -u`" -eq 0 ]; then # root prompt : blue export PS1="%{^[[33;39;1m%}%T%{^[[0m%} %{^[[33;34;1m%}%n%{^[[0m^[[33;34;1m%}@%{^[[33;39;1m%}%m %{^[[33;34;1m%}%(5~|%-2~..%2~|%~)%{^[[0m^[[33;34;1m%}%#%{^[[0m%} " else # user prompt : red export PS1="%{^[[33;39;1m%}%T%{^[[0m%} %{^[[33;31;1m%}%n%{^[[0m^[[33;31;1m%}@%{^[[33;39;1m%}%m %{^[[33;31;1m%}%(5~|%-2~..%2~|%~)%{^[[0m^[[33;31;1m%}%#%{^[[0m%} " fi It gives something like : 17:59 cyril@cyrilr /mnt/fat..5_Archi/annales% ==== Use the directory stack ==== Zsh permits to use the directory stack very easily, in ''zshrc'' : alias d='popd' # simple alias setopt auto_pushd # auto pushd with cd setopt pushd_ignore_dups # ignore double names of the same directory setopt pushd_silent # don't print the directory when popd or pushd Then you can type ''d'' as many times you want to move back all ''cd'' you've done. ==== History size ==== It is always painful to lose what you have typed in your shell 20 lines above. You can tune it in ''zshrc'' : export HISTORY=500 export HISTSIZE=500 export SAVEHIST=500 ==== Key bindings ==== In order to use //navigation// keys, still in ''zshrc'' : bindkey '^A' beginning-of-line # Home bindkey '^E' end-of-line # End bindkey '^D' delete-char # Del bindkey '^[[3~' delete-char # Del bindkey '^[[2~' overwrite-mode # Insert bindkey '^[[5~' history-search-backward # PgUp bindkey '^[[6~' history-search-forward # PgDn bindkey '\e[7~' beginning-of-line # Home mrxvt bindkey '\e[8~' end-of-line # End mrxvt bindkey '^[[1~' beginning-of-line # Home rxvt bindkey '^[[4~' end-of-line # End rxvt bindkey '^[[H' beginning-of-line # Home xterm bindkey '^[[F' end-of-line # End xterm ==== Aliases ==== Still in ''zshrc'' : ### ls alias ll='ls -l' alias la='ls -a' alias lla='ls -la' ### misc alias c='clear' alias less='less --quiet' alias s='cd ..' alias d='popd' ### df & du alias df='df --human-readable' # sorted du in one pass alias du='du -a -x --max-depth=1 --human-readable > /mnt/ram/dunosort ; cat /mnt/ram/dunosort | grep -v -E "^[0123456789\.]+[KMG]\>" | sort -n > /mnt/ram/dusort ; cat /mnt/ram/dunosort | grep -E "^[0123456789\.]+[K]\>" | sort -n >> /mnt/ram/dusort ; cat /mnt/ram/dunosort | grep -E "^[0123456789\.]+[M]\>" | sort -n >> /mnt/ram/dusort ; cat /mnt/ram/dunosort | grep -E "^[0123456789\.]+[G]\>" | sort -n >> /mnt/ram/dusort ; cat /mnt/ram/dusort' # sorted du in two pass #alias du='du -a -x --max-depth=1 -b > /mnt/ram/duab.list; # du -a -x --max-depth=1 --human-readable > /mnt/ram/dua.list; # paste /mnt/ram/duab.list /mnt/ram/dua.list | sort -n | cut --fields=3,4' ===== MRXVT ===== ==== History size ==== It is always painful to lose what you have typed in your shell 20 lines above. You can tune it in ''mrxvtrc'' : mrxvt.saveLines: 10000 ==== Appearence ==== mrxvt.showMenu: False mrxvt.background: black mrxvt.foreground: white mrxvt.scrollbarStyle: plain mrxvt.itabBackground: grey mrxvt.scrollColor: white mrxvt.troughColor: grey mrxvt.tabBackground: white ==== Shortcuts ==== Mrxvt.macro.Shift+Left: GotoTab -1 Mrxvt.macro.Shift+Right: GotoTab +1 Mrxvt.macro.Primary+Shift+Return: Esc \ec Mrxvt.macro.Ctrl+t: NewTab Mrxvt.macro.Ctrl+Shift+w: Close 0 ==== Other tunings ==== mrxvt.syncTabTitle: False mrxvt.syncTabIcon: False