Notei que, ao editar uma linha em um arquivo .txt no modo de inserção, o cursor se moverá para o início da linha após uma gravação usando a sequência de teclas:
<esc>:w
Eu gostaria de mudar esse comportamento para que o cursor fique na posição seguinte a: write. Isso é possível? Não preciso que o cursor permaneça no modo de inserção, gostaria que ele mantivesse sua última posição após uma gravação.
Estou usando o gVim 7.4 no Windows. Meu .vimrc é muito básico, não acredito que nenhuma das minhas configurações interfira nesse comportamento. Também removi a fonte do mswin.vim e example.vim do meu .vimrc (fornecido com o instalador oficial do Windows do vim.org).
Depois de ler os comentários abaixo, analisei o problema novamente e percebi que o cursor só desliza para a extrema esquerda após uma gravação em linhas totalmente compostas por espaços em branco à direita. Em outras palavras, o cursor desliza apenas para a extrema esquerda após esc-: w quando a linha é um recuo pendente sem outros caracteres além de espaços . O .vimrc está manipulando comportamentos de indentação com estas configurações:
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
Portanto, uma nova linha criada abaixo de uma linha recuada conterá 4 espaços em branco à direita como os 4 primeiros espaços da linha (que eu quero manter). Após a tecla 'esc', pressione o cursor desliza para a extrema esquerda do buffer.
Existe uma maneira de manter a posição do cursor ao pressionar 'esc' para retornar ao modo normal, em uma linha composta por espaços em branco à direita (como indentação)?
gvim -u NONE -U NONE
(você pode usar o cmd.exe ou criar um atalho)? Isso impedirá o carregamento dos arquivos (g) vimrc.