====== Astuces pour le terminal ====== * Objet : découvrir et partager ces astuces qui rendent le terminal agréable * Niveau requis : {{tag>débutant}} * Commentaires : //Pour tous les utilisateurs d'un terminal (tous les débianistes non ? :-) )// * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) * Suivi : {{tag>à-completer à-tester}} * Création par [[user>sogal]] 22/08/2015 * Testé par <...> le <...> FIXME * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=134586 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) ===== Introduction ===== Le terminal (ou émulateur de terminal si on est sous X) peut paraître de prime abord assez austère. Les quelques astuces qui suivent visent à le rendre plus agréable, voire à en faire un environnement de travail stylé et séduisant. ===== Installation ===== La plupart des astuces fonctionneront sous votre émulateur habituel (stterm (suckless st, le choix de votre serviteur :-) ), xterm, konsole, gnome-terminal, sakura, terminal XFCE...) et avec le shell Bash. ===== Utilisation ===== ==== Avoir de la couleur dans les manpages avec less ==== === Couleurs simples === Il faut rajouter la fonction suivante dans votre ''.bashrc'' : man() { env LESS_TERMCAP_mb=$'\E[01;32m' \ LESS_TERMCAP_md=$'\E[01;32;5;74m' \ LESS_TERMCAP_me=$'\E[0m' \ LESS_TERMCAP_se=$'\E[0m' \ LESS_TERMCAP_so=$'\E[1;31m' \ LESS_TERMCAP_ue=$'\E[0m' \ LESS_TERMCAP_us=$'\E[1;33m' \ man "$@" } Ce qui permet d'utiliser LESS avec les en-têtes de catégories et texte en gras en vert, les éléments soulignés en jaune et les résultats de recherche en rouge gras. === Couleur à la most === //Merci à captnfab pour ça// Créer un fichier ''~/.terminfo/mostlike'' et y ajouter : # Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-pcolor mostlike|manpages with color looking like most, am, hs, km, mir, msgr, xenl, cols#80, it#8, lines#24, wsl#40, acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, bold=\E[1m\E[31m, clear=\E[H\E[2J, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ed=\E[J, el=\E[K, enacs=\E)0, fsl=^G, home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, rc=\E8, rev=\E[7m\E[34m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7, sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[1;30m\E[47m, smul=\E[32m, tbc=\E[3g, tsl=\E]0;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, puis rajouter l'alias suivant (dans ''.bash_aliases'') : alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man" ==== Coloriser le code lu avec less ==== Pour cela, installer le paquet ''source-highlight'' : apt-get install source-highlight puis ajouter dans son ''.bashrc'' les lignes suivantes : export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s" export LESS=' -R ' Ouvrez un nouveau terminal ou re-éxecuter le ''.bashrc'' : source .bashrc et hop, magie les fichiers de code que vous consultez avec ''less'' disposent de la couleur ! ;) ==== Utiliser vim en tant que pager ==== Pour lire les manpages (et autres) avec ''vim'', ajouter ceci dans votre ''.bashrc'' export PAGER="/bin/sh -c \"unset PAGER;col -b -x | \ vim -R -c 'set ft=man nomod nolist' -c 'map q :q' \ -c 'map ' -c 'map b ' \ -c 'nmap K :Man =expand(\\\"\\\")' -\"" ==== Définir le titre de son terminal ==== === Pour Bash === Le ''.bashrc'' fournit par Debian dispose déjà de cette fonction mais nous allons l'améliorer. Chercher les lignes suivantes : # 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" et ajouter en dessous : show_command_in_title_bar() { case "$BASH_COMMAND" in *\033]0*) ;; *) echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD} > ${BASH_COMMAND}\007" ;; esac } trap show_command_in_title_bar DEBUG Ainsi le titre de votre terminal comprend votre login, le nom de la machine, le dossier actuel et, le cas échéant, le nom du programme en cours d'éxecution. {{https://debian-facile.org/images/file-R4f4c772661e90e13dd320ca75eb69289.png}} === Pour Zsh === Cela ne fonctionnera pas pour les utilisateurs de ''zsh'' qui préféreront ajouter le code suivant à leur ''.zshrc'' : if [ "$SHELL" = '/bin/zsh' ] then case $TERM in st*|*term) precmd() { print -Pn "\e]0;%n@%m:%~\a" } preexec () { print -Pn "\e]0;%n@%m:$1\a" } ;; esac fi {{https://debian-facile.org/images/file-Rf862dc3dc86ac81af8f88630ffc1fb33.png}} --- //[[sogal@member.fsf.org|Sogal]] 22/08/2015 12:22//