En plus de l’historique de ^ i / search:
alt.insère le dernier "mot" de la commande précédente au curseur. Répétez cette opération pour obtenir le dernier mot des commandes plus anciennes. (Mais notez qu'une fin &
compte comme le dernier mot pour les commandes d'arrière-plan).
C'est super pratique pour mkdir foo
, cd
alt-dot. Encore plus vite que la flèche haut, ^ a, alt-d (supprimer mot avant), cd
.
Pour obtenir l’avant-dernier mot, utilisez esc
-
2
alt+.
(c’est -à- dire, utilisez un argument numérique de style emacs alt+.
. Les décomptes négatifs à partir de la fin, les décomptages positifs à partir du début.) Mais c’est généralement plus difficile que ça vaut la peine; à un moment donné, il est plus rapide d’atteindre la souris et de copier / coller, ou encore une flèche vers le haut et une partie de celle-ci (voir ci-dessous).
Si votre terminal est bien configuré / correctement, ctrl-gauche et ctrl-droite iront en arrière / en avant par mots. Sinon, au moins, alt-b et alt-f feront la même chose.
ctrl- / est une annulation. Vous pouvez utiliser la répétition automatique pour supprimer des mots de manière beaucoup plus efficace si vous pouvez annuler un dépassement de temps.
Le kill / ring, qui fonctionne comme dans Emacs, permet un mélange / une correspondance plus puissant des commandes. Ctrl-y pour coller le dernier ctrl-w / ctrl-u / ctrl-backspace / alt-d. alt-y pour parcourir le texte ancien tué.
Plusieurs ctrl-w ou quoi que ce soit dans une rangée font sur l'entrée kill-ring. Utilisez les flèches gauche et droite ou quelque chose d'autre pour séparer l'entrée si vous souhaitez supprimer deux éléments et ne les coller que plus tard.
En combinant tous ces éléments, vous pouvez
- commencer à taper une commande
- Ctrl-r pour revenir à une ancienne commande et en récupérer une partie avec control-w ou similaire.
- esc-r ou
alt+r
pour rétablir sa configuration antérieure avant d'en supprimer une partie.
- alt -
>
pour aller à la fin de l’histoire (c’est-à-dire la flèche vers le bas), pour revenir à la commande dans laquelle vous étiez.
Autres conseils d'utilisation interactive:
Activer shopt -s globstar
, donc vous pouvez faire **/*.c
(récursif, y compris le répertoire en cours). Parfois pratique pour une utilisation interactive, mais en général find -name '*.c' -exec foo {} +
c'est mieux.
Si vous écrivez des scripts bash, il vous sera utile d' shopt -s extglob
activer également vos shells interactifs. Vous trouverez parfois une utilisation pour des choses comme *.!(c|h)
faire correspondre des fichiers qui ne se terminent pas par .c ou .h.
Trouvez des alias que vous aimez pour ls -l
, less
et tout ce que vous faites beaucoup. ( cp -i
, mv -i
et rm -I
sont gentils. Ne prenez pas l'habitude de compter sur eux pour faire une requête sélective. GNU rm's - Je demande une fois tous les arguments.)
J'aime alias m=less
(m pour "plus"). J'ai less
configuré avec ,et .lié au fichier précédent / suivant ( lesskey
). La valeur par défaut est une séquence de touches multiples qui ne peut pas être utilisée avec la répétition automatique.
J'aime tout faire à l'intérieur de l'écran GNU. Je trouve qu'il est plus facile de garder une trace des fenêtres d'écran numérotées qu'un chargement d'onglets dans Konsole (ou tout autre émulateur de terminal que j'ai essayé). Si vous ne le savez pas déjà screen
, apprenez tmux car il est plus récent et moins cruel.
Pour obtenir quelque chose comme la fonctionnalité d'ouvrir un nouveau shell avec le même cwd qu'un autre shell, j'utilise un hook personnalisé pour cd / pushd / popd qui me permet de créer un cd dans le répertoire utilisé par cds 8
mon shell dans la fenêtre d'écran 8. Cela fonctionne même pour les shells en dehors de la session d'écran, à condition qu'il n'y ait qu'une seule session d'écran.
fish
;)