[英]Vim : How to remap <c-h> in insert mode?
我想在插入模式下映射以下内容进行导航 :
<ch>
#向左移动 <cj>
#下移 <ck>
#向上移动 <cl>
#向右移动 所以,我在我的.vimrc
添加了以下内容:
inoremap <c-h> <left>
inoremap <c-j> <down>
inoremap <c-k> <up>
inoremap <c-l> <right>
现在,
据我了解, <ch>
默认deletes left character
。 但我无法覆盖它。
我甚至试过这个:
inoremap <c-j> <down>
inoremap <c-k> <up>
inoremap <c-l> <right>
" Re-mapping <c-h> for insert-mode
autocmd InsertEnter call RemapCtrlH()
function RemapCtrlH()
iunmap <c-h>
inoremap <c-h> <left>
endfunction
但即便如此也无效。
所以,我在我的
.vimrc
添加了以下内容:
inoremap <c-j> <down>
inoremap <c-j> <down>
inoremap <c-k> <up>
inoremap <c-l> <right>
你的第一行和第二行是一样的! 将第一个更改为以下内容:
inoremap <C-H> <Left>
您可以使用以下方式确认映射:
:verbose imap <C-H>
我把上面的信息保持不变,但回应评论......
与你的“autoclose”插件的冲突解释了为什么这在编辑器中起作用而在$MYVIMRC
起作用。 您可以通过将映射放在后目录中的插件文件中来解决此问题。
我使用标题案例进行<CH>
映射,与官方文档中的符号一致。 文件说明 :
{char}
情况无关紧要; 因此CTRL - A和CTRL - a是等价的。
如果您想映射CTRL - Shift - H ,请改用inoremap <CSH>
。
我很高兴:verbose map
帮助您找到问题的根源! :verbose
调试Vim脚本时, :verbose
是一个方便的工具。
祝好运!
我的解决方案
inoremap <c-p> <up>
inoremap <c-n> <down>
inoremap <c-b> <left>
inoremap <c-f> <right>
优势:它们广泛用于所有程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.