Estou respondendo a essa pergunta quatro anos depois, porque a resposta fornecida é uma solução parcial que não aborda completamente a questão original.
Tenho exatamente o mesmo desejo que o olibre e queria criar uma solução completa. Eu entendo isso de uma perspectiva diferente - estou acostumado com a edição de linhas do Emacs no bash - mas o problema é o mesmo. Eu quero levar isso para o modo de inserção do Vim (apenas).
A seguir, são abordadas todas as solicitações de vinculação de teclas na pergunta original feita 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 não consigo trabalhar neste momento são <Alt-B>
e <Alt-F>
, que pulariam palavras inteiras. Sempre que se ligam <Esc>
, <Alt>
ou <Meta>
combinações, gVim (v7.4 no Windows) envia caracteres acentuados. Sinta-se à vontade para editar esta resposta se você tiver uma solução para esse problema. Eu consegui que as combinações Alt funcionem com base na sugestão de outro post para usar apenas os caracteres especiais. Eu os inseri acima.
Editar
- (a edição não é feita pelo cartaz de resposta original) -
Usei o seguinte no Neovim e no Windows 10. Talvez seja necessário alterar o "A" para "M" em outros sistemas operacionais, já que "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
<Esc>pa
que seria melhor para<C-Y>