VIM用parantheses取代1美元,2美元,3美元和4美元

ROM*_*eer 3 vim

当我在VIM(插入模式)中写入文本时,它会自动替换:$1with (),$2with [],$3with {}$4with:

{

}
Run Code Online (Sandbox Code Playgroud)

对于其他数字(例如:),$5它具有预期的行为.

如何禁用此替换?

编辑:

1)如果我输入$,该插入符号在该字符上保持约1秒钟.所以,如果我在打字后稍等一下$,它就不会替换$1任何东西.

2)输出为:map $1:

v  $1          * <Esc>`>a)<Esc>`<i(<Esc> 
Run Code Online (Sandbox Code Playgroud)

3)输出为:imap $1:

i  $1          * ()<Esc>i 
Run Code Online (Sandbox Code Playgroud)

4)输出为:nmap $1:

No mapping found
Run Code Online (Sandbox Code Playgroud)

5)我使用了很多插件,但根据评论/答案,它们并不相关,因为inoremap我的〜/ .vimrc文件中有一些行.

细节:

  • 编辑:VIM - Vi改进7.2
  • 操作系统:SUSE Linux

Ren*_*ger 12

不是 vim的默认行为.

您可能有这些击键的地图或插入地图.你可以用一个来验证这个

:verbose map $1
Run Code Online (Sandbox Code Playgroud)

要么

:verbose nmap $1
Run Code Online (Sandbox Code Playgroud)

它显示了有哪些映射.

如果确实如此,那么寻找定义的第一个地方就是.vimrc:

:e $MYVIMRC
Run Code Online (Sandbox Code Playgroud)

然后搜索$1和/或map在.vimrc中

或者,你可能有一些插件可以做到这一点.

编辑Marth的有用评论(verbose用于找出映射的定义位置).

  • `:详细地图$ 1`也可能有助于找出定义映射的位置. (3认同)