Я відповідаю на це запитання через чотири роки, оскільки надана відповідь є частковим рішенням, яке не повністю стосується початкового питання.
У мене таке саме бажання, як у олібри, і хотілося придумати повне рішення. Я підходжу до цього з іншої точки зору - я звик до редагування рядків Emacs у bash - але проблема та сама. Я хочу перенести це в режим вставки Vim (тільки).
Далі розглядаються всі запити на введення клавіатури в оригінальному запитанні, поставленому олібре, плюс кілька додаткових даних:
" 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
Єдині прив’язки, які я, здається, не можу взяти на роботу в цей момент, - це <Alt-B>
і <Alt-F>
, які б пропустили цілі слова. Всякий раз , коли я прив'язувати <Esc>
, <Alt>
або <Meta>
комбінації, GVim (v7.4 на Windows) виводить акцентовані символи. Будь ласка, не соромтесь відредагувати цю відповідь, якщо у вас є рішення цього питання. Я змусив комбінації Alt працювати на основі пропозиції іншого допису просто використовувати спеціальні символи. Я вставив їх вище.
Редагувати
- (редагувати не за оригінальним плакатом відповідей) -
Я використовував наступні під Neovim та Windows 10. Можливо, вам потрібно буде змінити "A" на "M" на інших ОС, оскільки "alt" може бути "meta" в іншому місці. Я не грав з цим достатньо.
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
було б краще для<C-Y>