Sur la ligne de lecture de bash en mode emacs, j'ai récemment découvert la fonctionnalité de transposition , me donnant la possibilité de corriger rapidement une faute de frappe comme
dc dir
à
cd dir
en appuyant sur CTRL+ Tsur le c
caractère.
Y a-t-il quelque chose de similaire dans Vi / Vim qui me permet d'échanger des caractères et des mots?
normal-mode
k0pernikus
la source
la source
Réponses:
Pour les caractères, c'est assez simple:
xp
échanger la lettre sous le curseur avec la lettre suivante, etXp
échanger la lettre sous le curseur avec la lettre précédente.La
x
commande supprime le caractère sous le curseur, laissant le curseur sur le caractère suivant. LaX
commande supprime le caractère juste avant le curseur, laissant le curseur sur le même caractère qu'il était.p
place (colle) le dernier texte supprimé ou le dernier texte retiré juste après la position actuelle du curseur. (P
Met juste avant la position du curseur, de sortexP
et à laXP
fois laisser le texte tel qu'il était avant de commencer.)Pour échanger des mots, je ne suis pas sûr; peut-être que quelqu'un d'autre peut y répondre. Vous pouvez vous rapprocher
dawwP
(ou le remapper pour être plus court) mais cela se cassera sur plusieurs cas de bord, par exemple près de la fin d'une ligne.la source
Mappages d'échange de mots pour les langues latines
Les mappages d'échange de mots du wiki Vim ne fonctionneront pas correctement sur les mots avec des caractères accentués.
Ces mappages sont adaptés pour fonctionner avec les caractères du supplément Latin-1 ISO / IEC_8859-1 (européen) . Cela se fait en remplaçant toutes les instances de
\w
with[0-9A-Za-zÀ-ÖØ-öø-ÿ_\-]
et toutes les instances de\_W
with\_[^0-9A-Za-zÀ-ÖØ-öø-ÿ_\-]
.Suppression de la mise en évidence de la recherche
De plus, la mise en évidence de la recherche est effacée si nécessaire. Ceci est réalisé en ajoutant
:nohlsearch<return>
à la fin de chaque mappage si nécessaire.Voici le résultat final:
la source