vim nmap非常奇怪的行为
我的.vimrc中有一些nmap:vim nmap非常奇怪的行为,vim,Vim,我的.vimrc中有一些nmap: nnoremap ( ()<Esc>i nnoremap [ []<Esc>i nnoremap { {}<Esc>i nnoremap(()i nnoremap[]i nnoremap{{}i “(”很好用。如果我键入“(”我会得到“()”。但是如果我键入“[”或“{”我会在“[”和“]”之间得到3个额外的空格字符 我不知道是什么导致了这种行为。我想知道如何跟踪nmap进程以便捕获错误。您的nnoremap(或inor
nnoremap ( ()<Esc>i
nnoremap [ []<Esc>i
nnoremap { {}<Esc>i
nnoremap(()i
nnoremap[]i
nnoremap{{}i
“(”很好用。如果我键入“(”我会得到“()”。但是如果我键入“[”或“{”我会在“[”和“]”之间得到3个额外的空格字符
我不知道是什么导致了这种行为。我想知道如何跟踪nmap进程以便捕获错误。您的nnoremap(或inoremap)命令中很可能有尾随空格。请删除它们 您可以通过执行
:set list
并查看$
或行尾字符的位置来检查这一点
尾随空白是映射的一部分,因为映射应该把光标放在括号中间,所以额外的空白被放在那里。
这是怎么工作的?你使用的是代码> NNORMAP 不<代码> IORMAP 。对不起,IMAP到NMAP!