Les valeurs par défaut sont man bash
, ainsi que des détails sur ce que fait chaque commande. Voir la réponse de BroSlow si vous avez modifié vos raccourcis clavier.
Commands for Moving
beginning-of-line (C-a)
Move to the start of the current line.
end-of-line (C-e)
Move to the end of the line.
forward-char (C-f)
Move forward a character.
backward-char (C-b)
Move back a character.
forward-word (M-f)
Move forward to the end of the next word. Words are composed of alphanumeric characters (letters and digits).
backward-word (M-b)
Move back to the start of the current or previous word. Words are composed of alphanumeric characters (letters and digits).
shell-forward-word
Move forward to the end of the next word. Words are delimited by non-quoted shell metacharacters.
shell-backward-word
Move back to the start of the current or previous word. Words are delimited by non-quoted shell metacharacters.
clear-screen (C-l)
Clear the screen leaving the current line at the top of the screen. With an argument, refresh the current line without clearing the screen.
...
reverse-search-history (C-r)
Search backward starting at the current line and moving `up' through the history as necessary. This is an incremental search.
...
unix-line-discard (C-u)
Kill backward from point to the beginning of the line. The killed text is saved on the kill-ring.
...
yank (C-y)
Yank the top of the kill ring into the buffer at point.
MODIFIER
Ces commandes se trouvent toutes dans une section contiguë du manuel, vous pouvez donc la parcourir à partir de Commands for Moving
. Vous pouvez également enregistrer l'intégralité de cette section dans un fichier texte avec
man bash | awk '/^ Commands for Moving$/{print_this=1} /^ Programmable Completion$/{print_this=0} print_this==1{sub(/^ /,""); print}' > bash_commands.txt
(NB cela imprime toute la section, y compris les commandes sans raccourci clavier par défaut.)
Explication du code awk
- À la (seule) occurrence de
Commands for Moving
, définissez la variable print_this
sur 1.
- À la (seule) occurrence de
Programmable Completion
, qui est la section suivante, définissez la variable sur 0.
- Si la variable est 1, supprimez le premier espace (trois espaces) et imprimez la ligne.
bind -P
serait plus précis.Readline Command Names
, vous verrez toutes les commandes dans cette section. J'écrirai un court script pour l'extraire dans un fichier texte, mais je ne peux pas le faire maintenant (j'aurai le temps dans quelques heures).Vous pouvez lister tous les raccourcis dans votre shell bash actuel en appelant le build bash
bind
avec l'-P
option.par exemple
Pour les changer, vous pouvez faire quelque chose comme
Et placez-le dans un fichier init pour le rendre permanent (notez que vous ne pouvez avoir qu'une combinaison de touches liée à une chose à la fois, donc il perdra toute liaison qu'il avait auparavant).
la source
bind -P
devrait vous donner tous les raccourcis. Si vous voulez ignorer ceux qui n'ont pas de mappage pour les fonctions bind / readline, vous pouvez faire quelque chose commebind -P | grep -v "not bound"
La commande suivante donne une belle sortie en colonnes montrant l'utilisation et les raccourcis.
Cela donne une sortie, qui ressemble à
Obtenez cette sortie dans un fichier texte en utilisant la commande suivante
Le fichier est créé dans votre répertoire $ HOME.
Explication
obtient tous les raccourcis.
supprime tous les raccourcis non attribués
trie la sortie
imprime la première colonne (c'est-à-dire la fonction) et justifie le texte
Cela fait partie de la commande précédente. Il imprime les colonnes 6+ (c'est-à-dire les raccourcis).
Place la sortie dans un joli fichier texte dans le répertoire d'accueil nommé raccourcis
Vous pouvez vous faire une idée du fonctionnement de la commande en exécutant les commandes suivantes.
la source
bind -P | tail -n +2 | sort | awk '{printf "%-40s", $1} {if ($6 == "any") {printf"\n"} else {for(i=6;i<=NF;i++){printf "%s ", $i}{printf"\n"}}}'
D'accord, j'ai un moyen d'obtenir la liste des raccourcis en filtrant le manuel bash . Il donnera également la description de ce que fait exactement chaque raccourci. Merci à Sparhawk qui m'a éclairé pour trouver la solution. Ce dont j'avais besoin, c'était d'apprendre à utiliser les expressions régulières bien que je ne sois toujours pas bon dedans :)
C'est tout ce dont j'avais besoin. Je voulais juste connaître les touches de raccourci affectées à bash et je n'ai reconfiguré aucune clé comme BroSlow me l'a demandé.
Merci encore à tous pour leurs contributions.
Remarque :
Si quelqu'un veut améliorer cela, il est le bienvenu. J'ai seulement mentionné la façon de lister les raccourcis qui ont été assignés par certaines touches. Donc, si quelqu'un sait comment répertorier les actions qui n'ont pas été affectées à la description de cette manière , est le bienvenu :)
la source
dump-macros
), bien que cela puisse être ce que vous voulez.Tant que le manuel bash n'est pas modifié de manière à rendre cette commande incorrecte (ce qui est peu probable), la commande suivante affichera tous les raccourcis par défaut pour
bash
.Cela donne une sortie qui ressemble à:
Si le manuel bash est modifié, cette commande peut facilement être modifiée pour répondre aux besoins.
la source