====== 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//