Comment puis-je faire défiler vim dans un grand fichier?

j'ai un gros fichier avec des milliers de lignes de milliers de caractères.

je déplace le curseur à 3000ème caractère.

si j'utilise PageDown ou Ctrl + D , le fichier défilera mais le curseur reviendra au premier caractère sans espace.

il y a une option à définir pour garder le curseur dans la même colonne après un tel scroll ?

j'ai le comportement avec gvim sur Fenêtre , vim sur OpenVMS et Cygwin .

18
demandé sur Sagar Jain 2009-02-18 18:27:43

4 réponses

CTRL-E - scroll down
CTRL-Y - scroll up

100 <CTRL-E> défilera sur 100 lignes par exemple

Si vous voulez, à l'aide de PageUp , PageDown ou Ctrl + D etc. vous pouvez définir l'option" nostartofline

:set nostartofline
28
répondu Philip Reynolds 2015-09-18 08:11:36

eh Bien, une façon facile de le faire est d'utiliser les touches de déplacement. Par exemple, pour descendre 100 lignes en gardant le curseur à la même colonne: "100j "

Edit:

bien, en cherchant un peu plus pour vraiment trouver une réponse à votre question, il y a une option pour faire exactement ce que vous voulez:

:set nostartofline
7
répondu skinp 2009-02-18 15:38:50

Un Plugin Récent

j'utilise terryma/vim-smooth-scrolling plugin car il fournit un scrolling très agréable et lisse.


à installer , vous pouvez utiliser Vundle :

Bundle terryma/vim-smooth-scrolling

comme indiqué dans le doc, vous pouvez configurer 3 arguments: distance , duration et vitesse .

j'utilise ceci dans mon .vimrc fichier:

noremap <silent> <c-b> :call smooth_scroll#up(&scroll*2, 10, 4)<CR>
noremap <silent> <c-f> :call smooth_scroll#down(&scroll*2, 10, 4)<CR>
3
répondu Mick 2013-05-26 05:36:07

cela pourrait ne pas convenir à votre situation du tout, mais si cela rend plus facile de briser les lignes vers le haut, vous pouvez les briser à un certain caractère par exemple après': '

:%s/:/\r&/g

ou tous les 80 caractères

:%s/.\{80}/&\r/g
1
répondu sparklewhiskers 2009-02-18 15:39:14