Je voudrais être en mesure de copier et coller du texte dans la ligne de commande dans Bash en utilisant les mêmes liaisons de clavier que Emacs utilise par défaut ( par exemple en utilisant C-space
pour set-mark
, M-w
copier du texte, C-y
, M-y
pour le coller, etc.).
La documentation de GNU Bash indique que Bash est livré avec certaines de ces liaisons de touches configurées par défaut.
Par exemple, yanking ( C-y
) fonctionne par défaut sur mon terminal. Cependant, je ne peux pas faire fonctionner les commandes set-mark
et copy
, et elles ne semblent liées à aucune clé par défaut.
Habituellement, la façon dont un utilisateur peut définir ses propres raccourcis clavier est de les ajouter .inputrc
. J'ai donc cherché et trouvé les fonctions bash suivantes dans la documentation qui, je suppose, peuvent m'aider à définir le comportement de type Emacs que je veux (c'est- set-mark
à- dire avec C-space
et copy
avec M-w
).
copy-region-as-kill ()
Copiez le texte de la région dans le tampon de mise à mort, afin qu'il puisse être retiré immédiatement. Par défaut, cette commande n'est pas liée.
et
set-mark (C-@)
Réglez la marque au point. Si un argument numérique est fourni, la marque est définie à cette position.
Si je comprends bien, ce qui précède signifie que ce copy-region-as-kill
n'est lié à aucune séquence de clavier par défaut, tandis que set-mark
est lié à C-@
par défaut.
J'ai essayé C-@
sur mon terminal, mais je ne pense pas qu'il fonctionne set-mark
car je ne vois aucun texte en surbrillance lorsque je déplace mon curseur. Dans tous les cas, j'ai essayé d'ajouter des raccourcis clavier ( M-w
et C-
) aux fonctions copy-region-as-kill
et set-mark
au - dessus de ma .inputrc
puis de les recharger C-x C-r
, mais cela n'a pas fonctionné. Je sais que mes autres entrées .inputrc
fonctionnent parce que j'ai d'autres raccourcis clavier définis par l'utilisateur.
Y a-t-il quelque chose que je fais mal? Suis-je en train de manquer quelque chose?
bash
et quel programme terminal utilisez-vous?