0

我的 .vimrc 中有一些 nmap:

nnoremap ( ()<Esc>i
nnoremap [ []<Esc>i
nnoremap { {}<Esc>i

'(' 工作正常。如果我输入 '(' 我会得到 '()'。但是如果我输入 '[' 或 '{' 我会在 '[' 和 ']' 之间获得 3 个额外的空格字符.

我不知道是什么导致了这种行为。我在徘徊如何跟踪 nmap 过程,以便我可以捕捉到错误。

4

1 回答 1

0

您很可能在 nnoremap(或 inoremap)命令中有尾随空格。删除它们。

您可以通过查看行字符或行尾字符的位置来检查这:set list一点$

尾随空格是映射的一部分,由于映射应该将光标放在括号中间,所以额外的空格被放在那里。

于 2013-08-16T15:04:08.797 回答