EDIT: RESPOSTA REAL : consulte
TLDR : Esse comportamento ocorre apenas na primeira vez em que uma nova janela é criada. Se você fechar a janela e fazê-lo novamente, o cursor no novo buffer será o mesmo do buffer antigo. A resposta lá foi para fazer algo inútil que abre, então fecha uma janela e, em seguida, para fazer sua divisão vertical.
Veja outro mapeamento de .vimrc
que envolve a resposta do stackoverflow para fazer isso para você:
map <C-S-O> :tabnew<CR>bwipeout<CR>:vs<CR>
Então, quando você pressionar ctrl-shift-o
, ele abrirá uma nova guia em branco ( :tabnew<CR>
), excluirá o buffer ( :bwipeout<CR>
) e fará sua divisão vertical ( :vs<CR>
)
Espero que isso seja melhor - funciona perfeitamente para mim. Obrigado por me fazer querer descobrir algo utilizável para contornar este comportamento irritante!
Isso acontece o tempo todo para mim! Eu recentemente surgiu com uma resposta que funciona na maioria das vezes (melhor do que nada embora). Coloque isso no seu .vimrc
:
map <C-S-O> mmH:vs<CR>'m<C-W>l'm<C-W>h
Toda vez que você pressionar ctrl+shift+o
, ele deve fazer uma divisão vertical e colocar o cursor na mesma linha e coluna que você tinha no buffer original antes de dividir.
O comportamento em vim
que isso tenta resolver é quando o buffer que você está editando é maior do que pode ser exibido atualmente. Dependendo de onde o cursor está no buffer (exatamente no meio, metade superior, metade inferior), uma vez que você faz um :vs
(divisão vertical), ele deslocará o novo buffer para baixo ou até onde achar melhor .
O mapeamento .vimrc
acima está fazendo:
map <C-S-O> map ctrl-shift-o to run this
mm mark the current cursor position
H move the cursor to the top of
the buffer
:vs<CR> do a vertical split
'm move to line and column of mark
<C-W>l move focus to the right to the
original buffer
'm move the cursor in the orig buffer
back to the marked position
<C-W>h move back to the new buffer on
the left
Mais uma vez, funciona a maior parte do tempo para mim, não sei por que não funciona o tempo todo. De qualquer forma, espero que isso tenha ajudado alguns