Qu'est-ce que "<Esc> Kv" dans bash

13

Quand je suis en bash et appuyez sur Esc, Shift+ K, V, bash enflamme $EDITORavec un nom de fichier similaire à /tmp/bash-fc-186566385.

Pourquoi est-ce et quel est son but?

Je dois probablement mentionner que j'utilise bash avec set -o vi.

René Nyffenegger
la source

Réponses:

10

Cela vous permet de construire une commande avec une édition complète de Vi. Si vous saisissez certaines commandes et enregistrez exit, :wqles commandes seront exécutées.

CLARIFICATION: il vous permet de construire la commande dans n'importe quel éditeur que vous avez défini $EDITORet lorsque vous l'enregistrez et quittez, le contenu sera exécuté. (Clarifié que ce n'est pas seulement Vi!)

ÉGALEMENT, comme l'a noté RealSkeptic , la combinaison shift+ Kn'est pas nécessaire pour afficher l'éditeur. Tout simplement esc, Vva.

forquare
la source
Veuillez noter que peu de claviers ont une clé étiquetée v. Appuyer sur la touche (ou de meilleures touches) pour obtenir Kest normalement marqué comme <kbd>Shift</kbd>+<kbd>K</kbd>et appuyer sur la touche pour obtenir (en minuscules) vas<kbd>V</kbd>
Anthon
Non, mais votre modification à la publication OP a comporté des erreurs.
Anthon
2
Le mode éditeur n'est-il pas accessible simplement par escape-V? Le «shift-K» semble être juste du vaudou.
RealSkeptic
@RealSkeptic vous avez raison, bonnes informations supplémentaires
forquare
3
Aussi Ctrl-x + e (si vous n'êtes pas en mode vi)
Iacchus
12

Vous n'avez pas besoin de Shift+ k. L'utilisation de Esc+ vfonctionnera car vous autorisez l'édition en ligne de commande du shell à l'aide de l'éditeur vi intégré à l'aide de set -o vi(cela peut être obtenu avec Ctrl+ x+ e). Cela équivaut à exécuter la fccommande intégrée qui est utile pour manipuler la liste historique et le fichier historique. Il invoquera tout éditeur défini dans votre $EDITOR(sinon, l'éditeur par défaut de votre shell) pour écrire une commande longue, délicate ou complexe, puis les exécutera après avoir enregistré et fermé l'éditeur. Voir ici pour plus de détails sur la fccommande: commandes intégrées d'historique Bash .

coffeMug
la source