使用 emacs 命令自定義的 vim(僅限插入模式)
我是
emacs
使用者,我必須切換到vim
.vim
但我錯過了插入模式下的一些基本 emacs 命令:
C-A
C-E
C-K
C-Y
C-x C-s
- …和其他一些
我知道我可以按
Escape
,然後按以下一些鍵,最後按 keyi
:
^
$
d$
p
:w
$$ Enter $$- …
但是我想保持
vim
插入模式並避免按Escape
/i
鍵。在網上,我找到了
emacs
(vi-mode
,vip
,viper
,vimpulse
,vim-mode
,evil
) 的自定義。但尚未發現相反的情況:自定義vim
以使用emacs
命令…我只對插入模式下
emacs
的命令感興趣。只是一些基本命令,如命令:, , , , … (是的不是預設命令,但我也喜歡它)。vim
bash``C-A``C-E``C-K``C-Y``C-U``C-U``emacs
四年後我才回答這個問題,因為提供的答案是部分解決方案,並未完全解決原始問題。
我和 olibre 有著完全相同的願望,並想提出一個完整的解決方案。我從不同的角度來看待它——我習慣於在 bash 中編輯 Emacs 行——但問題是一樣的。我想把它帶入 Vim 插入模式(僅限)。
以下解決了 olibre 提出的原始問題中的所有鍵綁定請求,以及一些額外內容:
" 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 組合起作用,只使用特殊字元。我已經在上面插入了它們。<Alt-B>
and<Alt-F>
,它會跳過整個單詞。每當我綁定<Esc>
、<Alt>
或<Meta>
組合時,gVim(Windows 上的 v7.4)都會輸出重音字元。如果您對此問題有解決方案,請隨時編輯此答案。編輯
–(編輯不是由原始答案海報)–
我在 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