Improve your shell shortcuts !

On en parlait encore hier sur notre jardin préféré, mais les raccourcis clavier et autre petites choses qui vous sauvent la vie des milliards de fois, c'est bien.

voici dans un premier temps, les raccourcis clavier usuels (en mode emacs !!!):

tout d'abord les plus classiques :

  • ^K couper (jusqu'a la fin de la ligne)
  • ^Y coller (paste)
  • ^L clear
  • ^D supprime le caractere sous le curseur
  • ^A va au début de la ligne (touche home)
  • ^E va à la fin de la ligne (touche end)

ensuite les peut etre moins connus :

  • ^R bck-i-search mode pour rechercher en fonction d'un pattern dans l'historique du shell
  • ^T inverse deux lettres
  • ^U efface la ligne (du curseur, jusqu'au début)
  • ^W efface le mot précédent

Notez qu'apres un ^U et un ^W il est possible de le recoller avec un ^Y Sous X, vous pouvez toujours utiliser shift + insert pour coller du texte surligné a la souris Enfin, c'est deja pas mal, mais jll me faisait remarquer que la touche alt (meta) pouvait elle aussi servir :

Notez également que ^U fonctionne et est très utile dans beaucoup d'endroits ou vous n'avez pas de readline, mais une simple bufferisation du terminal (style dans telnet, socket, cat, read, la ou vous tapez votre mot de passe, …) et que vous souhaitez supprimer tout ce que vous avez déjà tapez dans la ligne pour recommencer sur des bases plus saines.

  • M-f avance mot à mot
  • M-b recule mot à mot
  • M-. insere le dernier argument de la commande precedente comme le ferait un $!
  • M-t inverse deux mots
  • M-d efface le mot suivant
  • M-l lowercase - passe le mot suivant en minuscule
  • M-u uppercase - passe le mot suivant en majuscule
  • M-c capitalize - le mot suivant (majuscule, et la suite du mot en minuscule)

N.B. pour les utilisateurs d'xterm il faut activer le “meta send escape”.

Aussi, ne passons pas a coté des choses simples comme le job control :

$> macommande& # lancé en background
$> fg # recupere le processus et le met en foreground

imaginons maintenant :

$> xterm
"""Mon dieu j'ai oublié de le mettre en background (i.e. permettre de continuer a jouer avec le shell)
hop, un petit ^Z :
zsh: suspended  xterm
$> bg # aller continue quand meme de t'executer
[1]  + continued  xterm
$> jobs # affiche la liste des processus
[1]  - running    xterm
[2]  + running    xterm 
$> kill %2 # kill le processus [2] de la liste

Voila voila, si vous avez d'autres idées, n'hésitez pas !

$> ^D logout

Mais c'est encore mieux avec une boite de inputrc !

Et alors la, mais la magie d'un jerome sur #gcu, ca fait revivre un shell avec plein de wahou wahou !

^R, c'est super convi, mais encore plus convi, attention sans les mains !

"\e[A": history-search-backward
"\e[B": history-search-forward

à ajouter dans .inputrc ou même dans /etc/inputrc pour en avoir partout. Et la, ôôô magie, plus besoin de ^R, exemple :

$ mpl[j'appuie sur la flèche du haut]
$ mplayer -fs Kates\ Playground\ -\ Naughty\ Secretary.mpg
$ ^L

Ahem, ouais vous voyez…

Et puis ensuite, PAF, on tombe donc sur /etc/inputrc, et on découvre que *HAN* magie, y'a encore tout plein d'options hyper convi toutes commentées pour personnaliser sa coquille !

Attention, quand on ajoute un .inputrc, /etc/inputrc semble ne plus être chargé, donc vaut mieux copier /etc/inputrc vers .inputrc avant d'ajouter des choses localement, ça évite de perdre <ctrl>+<flèche gauche/droite> pour se déplacer dans les mots de la ligne par exemple.

bazaar/shellshortcut.txt · Last modified: 2010/03/21 00:10 by ze