4 votes

Navi Ptetdanç Vim en Bmodeipadesertcitircalled èrefficacement.

Je sais qu'en mode insertion, je peux naviguer dans le document en utilisant les touches fléchées ou en utilisant Ctrl-o pour échapper temporairement au mode insertion. Ma question est : Y a-t-il un autre moyen de naviguer dans les documents au lieu d'utiliser ces touches ou d'échapper temporairement ?

Merci.

OK les gars, je viens de trouver une solution à ma propre question dans laquelle j'utilise imap pour mapper des touches dans Vim en mode insertion.

 imap  
 imap  
 imap

5voto

Craig McQueen Points 13194

Un autre vote pour le commentaire de @garyjohn, ici.

En suivant cette voie, vous vous tirez certainement une balle dans le pied. Je vois au moins deux grosses erreurs dans votre approche.

  • Comme l'a écrit @garyjohn, vous "combattez" l'aspect le plus crucial de Vim. La modalité est au cœur de tout ce qui en fait un éditeur de texte génial. Si vous considérez sa courbe d'apprentissage proverbialement raide, aller activement contre sa conception ne vous mènera pas loin.

  • Comme beaucoup d'autres, vous vous concentrez sur l'"aplatir Vim" sur des mouvements comme , et compagnie. Vim a de beaucoup meilleures façons de se déplacer dans et entre les tampons : wWeEbB/?tTfF{}[] et ainsi de suite. Tous ces mouvements vous donnent des super pouvoirs. Tous ces mouvements dépendent de la modalité d'une manière ou d'une autre.

    Rejeter ces outils incroyablement utiles est en soi une très mauvaise erreur. Les remapper serait à la fois très difficile et totalement inutile.

    Pour info, quand j'ai commencé avec Vim, j'ai passé des mois à essayer de le transformer en un clone de TextMate. Essayer de créer des mappages de mode insertion pour tout a probablement été l'une des entreprises les plus frustrantes de toute ma carrière. Cependant, j'ai appris deux choses dans le processus :

    1. mon cher TextMate était sérieusement sous-alimenté par rapport à Vim, il n'avait donc absolument aucun sens d'aplatir Vim, et...

    2. les modes dominent.

Acceptez la philosophie de Vim au lieu de la rejeter. Ou rejetez-la et utilisez plutôt Sublime Text 2, pour ce que nous en avons à faire.

3voto

Ambidextrous Points 191

Je suis d'accord avec @garyjohn - en plus, Ctrl-n et Ctrl-p sont des choses que j'utilise pour l'autocomplétion ou la correction orthographique automatique - je ne les réaffecterais pas à autre chose. Quoi qu'il en soit, Ctrl-w supprime un mot avant le curseur, et Ctrl-u supprime tout avant le curseur, donc au moins vous pourriez utiliser ces raccourcis (qui fonctionnent également dans un shell).

3voto

jopa Points 800

Juste pour bien insister là-dessus : si vous restez en mode insertion pendant longtemps, vous faites quelque chose de mal. Le schéma de Vi(m) est le suivant : Déplacez-vous en mode normal. Faites de courtes insertions (un mot ici, une phrase là). Ou manipulez le texte avec des commandes Ex comme :substitute. Répétez.

Essayez de vous habituer à quitter le mode insertion (via , idéalement facilement accessible sur votre clavier) dès que le flux de caractères provenant de votre cerveau commence à se tarir. La prochaine insertion n'est qu'à un i / a de distance.

0voto

rossijonas Points 33

Si vous voulez vous déplacer de PLUS d'une ou DEUX positions...

...le meilleur choix est d'appuyer sur ESC, vous déplacer, puis revenir en mode insertion.

Il est inutile de créer des mappings comme pour aller à gauche et ensuite appuyer dessus plusieurs fois... en tant qu'utilisateur de vim, vous n'êtes pas censé appuyer plusieurs fois sur la même touche pour réaliser un déplacement intelligent.

(Si la touche ESC n'est pas proche de vos doigts, ce serait une bonne option de créer un mapping pour elle.)

Si vous voulez vous déplacer d'UNE ou DEUX positions en mode insertion...

...un bon choix serait de définir quelques déplacements en utilisant votre touche :

(J'utilise , comme touche car elle est proche et confortable pour mes doigts)

noremap! h    "déplacer le curseur à gauche
noremap! j    "déplacer le curseur vers le bas
noremap! k      "déplacer le curseur vers le haut   
noremap! l   "déplacer le curseur à droite
noremap! w wi  "déplacer d'un mot vers l'avant
noremap! e ei  "déplacer vers l'avant jusqu'à la fin du mot
noremap! b bi  "déplacer d'un mot vers l'arrière

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X