J'ai remarqué que lors de l'édition le long d'une ligne dans un fichier .txt en mode insertion, le curseur se déplacera au début de la ligne après une écriture utilisant une séquence de touches:
<esc>:w
Je voudrais changer ce comportement de telle sorte que le curseur reste en position après a: write. Est-ce possible? Je n'ai pas besoin que le curseur reste en mode insertion, je voudrais juste qu'il conserve sa dernière position après une écriture.
J'utilise gVim 7.4 sur Windows. Mon .vimrc est très basique, je ne crois pas qu'aucun de mes paramètres interfère avec ce comportement. J'ai également supprimé le sourcing de mswin.vim et example.vim de mon .vimrc (tel que fourni avec le programme d'installation officiel de vim.org pour Windows).
Après avoir lu les commentaires ci-dessous, j'ai réexaminé le problème et j'ai réalisé que le curseur ne glissait qu'à l'extrême gauche après une écriture sur des lignes entièrement constituées d'espaces blancs de fin. En d'autres termes, le curseur ne glisse à l'extrême gauche sur esc-: w que lorsque la ligne est un retrait suspendu sans autre caractère que les espaces . Le .vimrc gère les comportements de retrait avec ces paramètres:
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
Ainsi, une nouvelle ligne créée sous une ligne en retrait contiendra 4 espaces blancs de fin comme les 4 premiers espaces de la ligne (que je veux conserver). Lorsque vous appuyez sur la touche «esc», le curseur glisse à l'extrême gauche du tampon.
Existe-t-il un moyen de conserver la position du curseur en appuyant sur 'esc' pour revenir au mode normal, sur une ligne composée d'espaces blancs à la fin (comme indentation)?
gvim -u NONE -U NONE
(vous pouvez soit utiliser cmd.exe, soit créer un raccourci)? Cela empêchera le chargement de vos fichiers (g) vimrc.