J'utilise Vim dans un terminal, donc le défilement avec la molette de défilement utilise la syntaxe \e[A
et \e[B
(où \e
symbolise \x1b
ou s'échappe).
Cependant, Vim interprète cela en déplaçant le curseur vers le haut ou vers le bas d'une ligne. Le comportement souhaité est que l' écran soit déplacé vers le haut ou vers le bas, comme <C-e>
et le <C-y>
faire.
Comment dire à Vim de déplacer l'écran lorsque j'utilise ma molette de défilement, tout en gardant le curseur sur la même ligne? Cela devrait fonctionner dans tous les modes courants (insertion, normal, sélection visuelle).
J'ai déjà essayé, par exemple, :nnoremap <esc>[A <C-e>
(remplacer <esc>
par un caractère d'échappement littéral inséré par Ctrl+V Esc), mais cela s'est avéré futile.
J'utilise Vim 7.4.52 sur Ubuntu 14.04 avec GNOME.
Réponses:
Comme @Doorknob l'a dit dans son commentaire,
:set mouse=a
résout le problème.la source
mouse=a
? Je ne veux pas que des clics accidentels gâchent mon flux d'édition.a
inmouse=a
signifieall
(ne pas ajouter). de:help mouse
: "la souris peut être activée pour différents modes ... Normalement, vous activez la souris dans les quatre modes avec:: set mouse = a" au moins dans mon vim quand j'ai activé que cela ne gâchait pas avec le changement de mode (juste activé le défilement - et "cliquez pour aller à la ligne")set mouse=a
sans clics accidentels gâcher le flux,:map <LeftMouse> <nop>
ferait l'affaire.Le comportement que vous voulez est ce qui se passe sur mon vim. Je ne trouve pas de paramètre qui l’active / le désactive. Peut-être vérifiez la : aide au défilement ?
scrolloff
pourraient être impliqués.Vous pouvez également envisager d'utiliser des marques comme solution de contournement.
la source
vim -u NONE
). Il s'agit de Vim 7.4 sur Ubuntu 14.04 avec GNOME..vimrc
(justeset mouse=a
).:help scrolling
indique que le comportement de défilement est spécifique à la plate-forme. J'utilise vim dans iterm2 sur OSX.:set mouse=a
a résolu le problème pour moi. Modifiez cela dans votre réponse, et je l'accepterai. Merci!