Estou tentando configurar mapeamentos de modo normal para facilitar a adição de espaço em branco ao redor do cursor:
<C-h>
adicionará um espaço à direita do cursor;
<C-j>
adicionará uma nova linha abaixo;
<C-k>
adicionará uma nova linha acima;
<C-l>
adicionará um espaço à direita do cursor; e
<C-Enter>
adicionará uma nova linha na posição atual do cursor.
Também quero que a posição do cursor não se mova durante o comando. Para esquerda, direita e nova linha, isso é simples:
nnoremap <C-h> i <Esc>l
nnoremap <C-l> a <Esc>h
nnoremap <C-^M> i<CR><Esc><Backspace>
mas para acima e abaixo, os comandos correspondentes
nnoremap <C-j> o <Esc>k
nnoremap <C-k> O <Esc>j
vai me colocar de volta na linha certa, mas não na mesma coluna em que eu estava antes.
Existe alguma maneira de retornar à posição do cursor em que eu estava antes de entrar no modo de inserção? Meu melhor Google-fu trouxe apenas referências ao ''
& double-backtick (não consigo descobrir como formatar a marcação lá) e :jumps
/ <C-O>
& <C-I>
, nenhum dos quais parece funcionar da maneira que eu gostaria.
Isso pode ser resolvido sem o Vimscript? Ele pode ser resolvido com o Vimscript?
m'
e em''
vez dem`
e``