Quand j'ai appris à programmer, j'appuierais à la fois sur les parenthèses d'ouverture et de fermeture / etc, puis sur la touche fléchée gauche, puis entrerais le texte. Donc, pour mettre, [hello]
je taperais []
, puis la flèche gauche pour qu'elle soit au-dessus du premier support ( [
).
J'aime ça parce que je sais que j'ai toujours le bon nombre de supports / etc et sinon j'ai l'impression que ma main doit aller et venir sur la touche support / etc
Mais, en restant dans la mentalité de Vim, je ne veux pas continuellement chercher les touches fléchées. Y a-t-il quelque chose que je pouvais faire qui n'impliquait pas l'utilisation des touches fléchées ou le fait de devoir continuellement quitter le mode d'insertion pour simplement appuyer h
et revenir?
la source
[
,]
,<Esc>
(qui placera le curseur sur la]
) et , enfin ,i
qui sera placez le curseur entre les crochets en mode insertion.ctrl-o 2h
? Est-ce plus rapide que de déplacer votre main vers les curseurs? ;)h
ouj
sinon j'utiliserai d'autres mouvements. Cela me semble plus rapide, mais je comprends que certaines personnes le ressentent différemment :)Il existe de nombreux plugins "paires" qui le font automatiquement pour vous. Cependant, tous me frottent dans le mauvais sens. J'ai tendance à utiliser le plugin surround.vim de Tim Pope . Je fais ce qui suit:
<c-s>]
en mode insertion pour insérer[]
avec le curseur au milieu des crochets.la source
Si vous avez juste besoin de déplacer un espace, ctrl-oen mode insertion, votre prochaine entrée est une commande normale, donc ctrl-o, vous hen reculez d'une. La modeline s'affichera
--- (insert) ---
jusqu'à ce que vous saisissiez la commande normale.la source
crochets lh fournit des mappages en mode insertion, normal et visuel pour insérer une paire de supports.
Remarques:
(
en mode visuel entourera (par défaut), nous n'avons pas besoin de frappersi(
ou de séquences similaires.la source
Les réponses précédentes sont très bonnes. Mais je pense que vous voudrez peut-être quelque chose de plus facile. Personnellement, j'utilise
h
j
k
l
pour me déplacer. Par conséquent, j'ai ajouté à mon .vimrc ce qui suit:Juste un petit conseil. Vous avez dit que votre procédure est
i
,[]
,<Esc>hi
.Il existe des mappages en attente d'opérateur, ce qui signifie que vous pouvez
ci[
oudi[
ouii[
.la source
Personnellement, je ne suis pas un grand fan de l'insertion automagique de personnages; vous pouvez facilement définir un ensemble de mappages pour insérer du texte et plus le curseur à l'endroit où vous voulez:
Notez qu'un plugin comme ultisnips fait aussi des choses comme ça, mais plus avancé. Par exemple en Javascript je peux taper:
et je reçois:
Vous pouvez ajouter un simple extrait pour compléter les parenthèses; il s'agit d'un fichier .snippet spécial qui réside dans
~/.vim/UltiSnips/all.snippets
:${0}
est la position du curseur.voir
:help UltiSnips-adding-snippets
pour plus d'informations.Notez que les ultisnips nécessitent Python; un autre plugin bien connu est vim-snipmate . Le Wiki Vim a une liste complète des plugins d'extraits .
la source