Pour certains formats de texte, les sauts de ligne sont importants.
Par exemple, j'utilise souvent Vim pour écrire des documents MediaWiki, où vous ne pouvez pas simplement mettre un saut de ligne n'importe où (contrairement à Markdown). Je suis donc obligé d'écrire des lignes avec beaucoup de caractères.
Cela peut conduire à des lignes longues (200+ caractères) ou même très longues (1000+ caractères). Je trouve cela très difficile à utiliser dans Vim. Par exemple, si je veux modifier quelque chose au milieu de la ligne de 1 000 caractères, je dois déplacer mon curseur 500 fois.
Cela peut être fait un peu plus rapidement avec w
ou /
, mais c'est toujours gênant.
Y a-t-il de meilleures façons de gérer cela? De meilleures touches de mouvement? Une sorte de "faux habillage" (le texte se comporte comme si tw=80
, mais pas \n
dans le fichier), ou autre chose?
la source
Réponses:
Vous pouvez utiliser une
g
série de commandes pour vous déplacer jusqu'aux limites de la zone d'écran visible. Par exemple, g$se déplace vers le bord droit de l'écran (ce qui n'est pas nécessairement la fin de la ligne). gjdéplace le curseur d'une ligne vers le bas tel qu'il apparaît sur votre écran (qui n'est pas nécessairement une ligne logique vers le bas).Vous pourriez peut-être relier les touches fléchées:
Ou certaines personnes se relient aussi directement ket j:
Pour le mode insertion, vous pouvez utiliser:
Ou:
De plus, si vous utilisez
:set wrap
, Vim encapsulera les lignes, afin que vous puissiez voir toute la ligne. Vous pouvez également utiliserset showsbreak=+
pour afficher un+
pour indiquer que Vim effectue un habillage.Pour passer à des positions de colonne spécifiques, vous pouvez utiliser la |commande. Par exemple, 200|ira à la position de colonne 200.
la source
g5j
sauter 5, comme d'habitude.5gj
g5j
,g5
est vu en premier, qui passe juste au suivant5
avant d'appliquer lej
. C'est pourquoi il ne peut pas faire quoi5gj
.Vim prend en charge le soft wrapping, juste
set wrap
pour l'activer et il encapsulera les longues lignes au-delà de l'écran visible. Vous pouvez utilisergj
&gk
pour vous déplacer vers le haut ou vers le bas respectivement sur ces lignes enveloppées.la source
Lorsque je traite des lignes très longues, le plus gros problème concerne les longueurs de ligne différentes. Autrement dit, un déplacement vers le haut ou vers le bas près des extrémités des lignes fait défiler la fenêtre très à gauche ou à droite.
Cela peut être évité en définissant
virtualedit=all
ce qui vous permet de déplacer le curseur dans l'espace longtemps après les fins de ligne.la source
Comme d'autres l'ont dit, vous pouvez utiliser g+ quelque chose pour vous déplacer. Cependant, lorsque vous avez des lignes extrêmement longues, appuyer gjplusieurs fois pour vous déplacer vers le bas n'est pas ergonomique. J'ai les éléments suivants en mon
.vimrc
pour rendre cela beaucoup plus facile:Sur un Mac, cela me permet d'utiliser j, k, $, 0 et ^ sur les lignes d'affichage en maintenant la touche de commande enfoncée. Sur d'autres systèmes, au lieu de
D
vous, essayezM
ouA
pour Alt, ouC
pour Control.la source