Estou respondendo a essa questão quatro anos depois, porque a resposta é uma solução parcial que não aborda completamente a questão original.
Eu tenho exatamente o mesmo desejo que o olibre e queria propor uma solução completa. Eu venho de uma perspectiva diferente - estou acostumado com a edição de linha do Emacs no bash - mas o problema é o mesmo. Eu quero levar isso para o modo de inserção do Vim (somente).
O texto a seguir aborda todos os pedidos de atalhos de teclado na pergunta original colocada por olibre, além de alguns extras:
" Mimic Emacs Line Editing in Insert Mode Only
inoremap <C-A> <Home>
inoremap <C-B> <Left>
inoremap <C-E> <End>
inoremap <C-F> <Right>
" â is <Alt-B>
inoremap â <C-Left>
" æ is <Alt-F>
inoremap æ <C-Right>
inoremap <C-K> <Esc>lDa
inoremap <C-U> <Esc>d0xi
inoremap <C-Y> <Esc>Pa
inoremap <C-X><C-S> <Esc>:w<CR>a
As únicas ligações que parecem não conseguir trabalhar neste momento são <Alt-B>
e <Alt-F>
, o que pularia palavras inteiras. Sempre que eu vinculo as combinações <Esc>
, <Alt>
ou <Meta>
, o gVim (v7.4 no Windows) exibe caracteres acentuados. Sinta-se à vontade para editar esta resposta se tiver uma solução para esse problema.
Editar
- (editar não é pelo poster de resposta original) -
Eu usei o seguinte em Neovim e Windows 10. Você pode precisar alterar o "A" em "M" em outros sistemas operacionais, pois "alt" pode ser "meta" em outro lugar. Eu não brinquei com isso o suficiente.
inoremap <A-x> <Esc>:
inoremap <A-f> <Esc>lwi
inoremap <A-b> <Esc>bi
inoremap <A-S-f> <Esc>lWi
inoremap <A-S-b> <Esc>Bi