====== Shell fish ====== * Objet : Fichiers de configuration pour le shell fish * Niveau requis : {{tag>débutant avisé}} ===== Installation ===== Installation de fish apt install fish Utiliser fish par défaut chsh Changing the login shell for Enter the new value, or press ENTER for the default Login Shell: /usr/bin/fish //Se reconnecter pour prendre en compte la modification.// ===== Configuration ===== {{https://i.imgur.com/ttwWwkm.png}} Mes fichiers de configuration: eval (dircolors -c ~/.dircolors | sed 's/>&\/dev\/null$//') # vi mode #fish_vi_key_bindings function fish_mode_prompt --description "called from fish_right_prompt" # do stuff end # abbr abbr hist 'history' abbr vi 'nvim' abbr ls 'ls --color' abbr ll 'ls -lh' abbr llt 'ls -lhrt' abbr lls 'ls -lhrS' abbr grep 'grep --binary-files=text' abbr diff colordiff abbr grep 'grep --color' abbr igrep 'grep -i' abbr netstat 'ss -a' ######################################################### # couleur dans le man ######################################################### set -gx LESS_TERMCAP_mb \e'[01;31m' set -gx LESS_TERMCAP_md \e'[01;31m' set -gx LESS_TERMCAP_me \e'[0m' set -gx LESS_TERMCAP_se \e'[0m' set -gx LESS_TERMCAP_so \e'[01;44;33m' set -gx LESS_TERMCAP_ue \e'[0m' set -gx LESS_TERMCAP_us \e'[01;32m' **Prompt de gauche**: Affiche le mode vi et le path courant function fish_prompt set -l last_status $status set_color normal printf '[' switch $fish_bind_mode case default set_color --bold red printf 'n' case insert set_color --bold 215eb1 printf 'i' case visual set_color --bold magenta printf 'v' end set_color normal printf '] ' set_color 9cc8f9 printf '%s' (prompt_pwd) if [ $last_status -eq 0 ] set_color -o 215eb1 else set_color -o red end printf ' > ' set_color normal end **Prompt de droite**: Affiche la durée d'exécution de la dernière commande et l'heure: function __bobthefish_cmd_duration -S -d 'Show command duration' [ "$theme_display_cmd_duration" = "no" ]; and return [ -z "$CMD_DURATION" -o "$CMD_DURATION" -lt 100 ]; and return if [ "$CMD_DURATION" -lt 5000 ] echo -ns $CMD_DURATION 'ms' else if [ "$CMD_DURATION" -lt 60000 ] __bobthefish_pretty_ms $CMD_DURATION s else if [ "$CMD_DURATION" -lt 3600000 ] set_color $fish_color_error __bobthefish_pretty_ms $CMD_DURATION m else set_color $fish_color_error __bobthefish_pretty_ms $CMD_DURATION h end set_color $fish_color_normal set_color $fish_color_autosuggestion [ "$theme_display_date" = "no" ] or echo -ns ' ' $__bobthefish_left_arrow_glyph end function __bobthefish_pretty_ms -S -a ms interval -d 'Millisecond formatting for humans' set -l interval_ms set -l scale 1 switch $interval case s set interval_ms 1000 case m set interval_ms 60000 case h set interval_ms 3600000 set scale 2 end switch $FISH_VERSION # Fish 2.3 and lower doesn't know about the -s argument to math. case 2.0.\* 2.1.\* 2.2.\* 2.3.\* math "scale=$scale;$ms/$interval_ms" | string replace -r '\\.?0*$' $interval case \* math -s$scale "$ms/$interval_ms" | string replace -r '\\.?0*$' $interval end end function fish_right_prompt -d "Write out the right prompt" __bobthefish_cmd_duration set_color white date '+%H:%M:%S' set_color normal end