Cela peut sembler un peu trop exagéré, mais je suis passé à vim et je suis tellement content du workflow maintenant. J'essaie de me discipliner pour ne pas utiliser les touches fléchées, car garder les mains sur les touches alfa tout le temps est une si grande chose lors de l'écriture. Ainsi, lorsque je dois naviguer, je sors du mode d'insertion, je me déplace en mode normal et je reviens en mode d'insertion.
Il y a une exception où cela est en fait plus perturbant: j'utilise clang complete
avec des extraits et super tab
c'est super. Sauf que chaque fois que j'obtiens une fonction auto terminée après avoir rempli les paramètres, je reste avec le curseur avant, )
donc pour continuer je dois déplacer le curseur d'un caractère vers la droite. Comme vous pouvez l'imaginer, cela se produit très souvent .
Les seules options que j'ai (pour autant que je sache) sont: Esclaou →, et je ne suis satisfait d'aucune d'elles. Le premier me fait frapper 3 touches pour un simple mouvement de curseur à 1 caractère, le second me fait déplacer ma main sur les touches fléchées. Une troisième option serait de mapper CTRL-Lou de smth →.
Alors, quelle est la meilleure façon de procéder?
//snippets (clang complete + supertab):
foo($`param1`, $`param2`)
//after completion:
foo(var1, var2|)
^ ^
| |
I am here |
Need to be here
|
indique la position du curseur
)
s'il y a au moins un argument dans la fonction. Je le tape donc à la main. Beaucoup plus utile maintenant.)
je parie qu'il saute sans insérer réellement. (Je n'utilise pas ce plugin))
<C-O>l
pour quitter le mode normal pour 1 commande de mode normal.Réponses:
Carte )pour ignorer l'existant
)
s'il s'agit d'une parenthèse fermanteExtrait de: http://vim.wikia.com/wiki/Automatically_append_closing_characters
Ancienne réponse
:h i_CTRL-O
exécuter une commande, revenir en mode Insertion.Ctrl-ol vous déplacera d'un caractère vers la droite puis vous ramènera en mode insertion.
Alternativement, certains plugins de support vous permettent de taper simplement le crochet de fermeture )et ils remplaceront celui existant.
la source
)
s'agit du dernier caractère de la ligne (et cela se produit souvent lorsque vous écrivez du code).CTRL-O a
fonctionne cependant. Je suppose donc que nous avons enregistré une clé. :)del
)
n'est que deux caractères et vous mettra toujours après la parenthèse fermante.Tapez ce qui suit pour rechercher les touches de contrôle utilisées en mode insertion.
ctrl-b n'est pas utilisé, mais vous voudrez peut-être sacrifier une autre clé.
Cela fonctionne pour déplacer le curseur d'un caractère vers la droite. Ou mappez un double caractère.
la source