6

我在编码时使用了一些地图:

imap ( ()<C-[>i
imap [ []<C-[>i
imap { {}<C-[>i

因此,当我输入 "(" 时,它会写入 "()" (对于 "[" 和 "{" 也是如此)。问题是当我将某些内容粘贴到 Vim 时:

for (i = 0; i < count; i++) {
tab[i] = something()
}  

我明白了

for (i = 0; i < count; i++) {
tab[i] = something()
}  
)]})

是否可以避免额外的括号?

4

1 回答 1

11

你想要这个'paste'选项;用:set paste. 它禁用插入模式映射、缩写和其他自动格式化选项。

另一件事是有多种粘贴方式:

  • "+p
  • :set mouse=a然后中键单击
  • 插入模式,<C-R>+
  • :a!然后使用终端的粘贴命令

所有这些都将正确粘贴。唯一让 vim 感到困惑的是,当您使用终端的“粘贴”命令而没有事先警告它时。

于 2009-03-20T23:59:09.707 回答