我很高兴拥有类型矩阵2030,以及一个快乐的 vim 用户。在这个键盘上, 位于<del>
中央位置,而 像<esc>
往常一样位于左上角。所以我想将我的<del>
键重新映射到<esc>
。到目前为止,我将以下几行添加到我的.vimrc
:
noremap <del> <esc>
nnoremap <del> <esc>
inoremap <del> <esc>
vnoremap <del> <esc>
xnoremap <del> <esc>
snoremap <del> <esc>
cnoremap <del> <esc>
onoremap <del> <esc>
它几乎可以正常工作,除了在命令行模式下:输入:cmd<del>
将启动帮助:cmd<enter>
,而输入:cmd<esc>
将删除该行并返回正常模式。
以下是 的输出:verbose cnoremap <Del>
:
c <Del> * <Esc>>
Last changed in ~/.config/vim/vimrc
其他模式的输出给出了类似的结果,带有奇怪的双 V 形>>
,但工作正常(在插入模式下打字将切换到正常模式)。
答案1
我认为这种行为是由于下面描述的内容造成的:help c_Esc
(将“宏”读作“映射”;它们密切相关):
<Esc> When typed and 'x' not present in 'cpoptions', quit Command-line mode without executing. In macros or when 'x' present in 'cpoptions', start entered command.
您可以使用以下方法解决此问题<C-c>
:
:cnoremap <del> <C-c>