J'ai deux tampons ouverts dans Vim à l'aide d'une scission verticale liée à l'aide de: Set ScrollBind. P>
Y a-t-il un moyen de basculer entre les fenêtres de sorte que le curseur reste sur la même ligne (relative) lorsque je bascule entre eux à l'aide des commandes Ctrl + W? P>
3 Réponses :
^ w + r code> (tampons de commutation) suivi de ^ w ^ w code> (retour du curseur) p>
Cela déplace vraiment les tampons autour, ce que je veux vraiment faire est quelque chose où ^ w + h code> me déplace vers la fenêtre droite sans changer la rangée du curseur. Le comportement par défaut de VIM est de retourner à la même rangée que le curseur était allumé quand j'étais enfoncé dans ce tampon, que je voudrais remplacer. J'espère que cela a du sens, il semble difficile d'expliquer.
Un mappage fera ce dont vous avez besoin
faire dans la fenêtre gauche: p> et faites ceci dans la fenêtre droite: P> :nnoremap <left> :let offset=winline()\|wincmd h\|exe 'normal ' . offset . 'H'<cr>
Je m'incline à votre Supérieur Vim-foo. Savez-vous d'une façon de faire la même chose qui utilise un positionnement relatif du curseur du haut de l'écran?
Citant @zyx: "N'utilisez pas * Carte, sauf si vous savez pourquoi vous le préférez à Nore version"
Vim version 7.3 Ajout d'un Lorsque cette option est définie, en tant que curseur dans le courant
la fenêtre déplace d'autres fenêtres cursorbants (fenêtres qui ont aussi
cette option définie) déplacer leurs curseurs sur la ligne correspondante et
colonne. Cette option est utile pour la visualisation de la
différences entre deux versions d'un fichier (voir 'diff'); en mode DIFF,
lignes insérées et supprimées (bien que non des caractères dans une ligne) soient
pris en compte. p>
blockQuote> cursorbind code> Option: p>