Comment puis-je utiliser les raccourcis Readline dans la ligne de commande vim?

15

Lorsque je modifie une commande Vim, je voudrais utiliser les mêmes raccourcis que dans Bash et tous les autres REPL: M-brevenir en arrière, M-Backspacesupprimer un mot précédent, M-uconvertir le mot en majuscule, C-kcouper jusqu'à la fin de la ligne, etc. J'ai pu configurer certaines commandes en utilisant :cmap, mais pas toutes.

Existe-t-il un plugin ou un paramètre qui fournit cela?

Je suis au courant cedit, mais je trouve cela fastidieux quand tout ce dont j'ai besoin est d'entrer une commande rapide.

Mihai
la source
Waitaminute, dites-vous que vous utilisez Bash en mode Emacs même si vous utilisez Vim comme éditeur?
Kyle Strand
3
@KyleStrand Je n'ai pas encore vu quelqu'un qui a utilisé Bash en mode vi. Il semble que la plupart des avantages des éditeurs modaux disparaissent lorsque vous n'êtes limité qu'à une seule ligne.
Mihai
1
Intéressant. Je n'utilise que Bash en mode Vi, bien qu'il semble que le mode Emacs prenne en charge certaines choses que le mode Vi ne prend pas en charge. Il se trouve que je connais les raccourcis clavier Vi tout en restant presque complètement ignorant des liaisons Emacs, et je n'ai jamais pensé que c'était un problème assez urgent pour apprendre les valeurs par défaut.
Kyle Strand

Réponses:

11

Existe-t-il un plugin ou un paramètre qui fournit cela?

Oui, plugin rsi.vim :

traits

  • Les mappages de ligne de lecture sont fournis en mode insertion et en mode ligne de commande. Le mode normal est délibérément omis.
  • Les raccourcis clavier Vim importants (comme l'achèvement du mode d'insertion Cn et Cp) ne sont pas remplacés.
  • Les liaisons de méta-clés sont fournies d'une manière qui fonctionne dans le terminal sans les dangers de la reconfiguration d'échappement.
  • Cd, Ce et Cf sont mappés de telle sorte qu'ils effectuent le comportement Readline au milieu de la ligne et le comportement Vim à la fin. (Pensez-y.)
mMontu
la source
1

Existe-t-il un plugin ou un paramètre qui fournit cela?

Il y a aussi readline.vim .

Il s'agit d'un plug-in plus récent qui se concentre uniquement sur la ligne de commande. Il implémente également un plus grand sous-ensemble des raccourcis Readline et a pour objectif d'implémenter chaque raccourci exactement comme dans Readline.

Ce qui rend ce plugin différent des plugins similaires, c'est qu'il implémente un plus grand sous-ensemble des mappages Readline et qu'il fait un meilleur travail de mimer le comportement Readline pour chaque commande.

Les commandes de déplacement et de suppression de mots ont un comportement différent entre Vim et Readline. La plus grande différence est que, dans la ligne de lecture, la ponctuation est toujours ignorée lors de la recherche d'une limite de mot. Une autre différence est que _ (trait de soulignement) est traité comme un délimiteur de mot. Ce plugin implémente le comportement Readline pour les commandes de déplacement et de suppression de mots.

wefwefa3
la source
1
Je suis surpris qu'il y ait quelqu'un qui cherche ce genre de chose. Il est si facile d'utiliser le mode vim de readline que je pense que tous les utilisateurs réguliers de vim le feraient. (Je ne trouve pas les commandes supplémentaires en mode emacs si convaincantes.) Mais peut-être que le "comment" n'est pas très connu (... et peut-être que j'ai de la chance que le tout premier bashrc que j'ai vu / copié ... il y a bien plus d'années que je ne veux l'admettre ... avait set -o vim:)
Couche B