我想其他编辑器足够聪明,可以将这些东西关闭粘贴,但在终端中使用vim时,无法区分粘贴和实际打字。vim中的智能缩进(通常很棒)在粘贴一段代码时会造成灾难
你有什么样的解决方案或解决方法?
补充:还有一个设置可以让评论自动在下一行继续。缩进至少不会改变代码的语义,但自动注释延续真的会把事情搞砸。想想看,我应该完全放弃这一点 - 任何人都知道这个选项被称为什么?
我想其他编辑器足够聪明,可以将这些东西关闭粘贴,但在终端中使用vim时,无法区分粘贴和实际打字。vim中的智能缩进(通常很棒)在粘贴一段代码时会造成灾难
你有什么样的解决方案或解决方法?
补充:还有一个设置可以让评论自动在下一行继续。缩进至少不会改变代码的语义,但自动注释延续真的会把事情搞砸。想想看,我应该完全放弃这一点 - 任何人都知道这个选项被称为什么?
:设置贴是要走的路,但如果你忘了,因为我经常这样做,那么,如果你使用的是带有{语言}为块的开/关,然后做a =第一个{或last}会重新应用缩进。
:设置粘贴
添加到您的.vimrc,并用它来与F2键切换前的状态粘贴后您添加的代码块:
另一种方式来做到这一点,假设你有你的系统剪贴板正确设置是做
"*p
这将从系统剪贴板粘贴。
检查您的vim --version
。在OS X上,你需要+clipboard
和Linux +xterm_clipboard
,我相信。
如果你使用的是OS X,你总是可以使用brew install macvim
并且使用mvim -v
而不是捆绑的Vim(它不会与+clipboard
一起编译)。
:设置nopaste - 打开缩进 – 2009-01-22 19:53:58
哦,谢谢。所以你必须记得在粘贴之前和之后设置它并取消设置?我想没有一种程序化的方式来区分粘贴和打字就没有更多的自动化。 – dreeves 2009-01-22 19:57:02
您可以使用密钥映射将其绑定到一组密钥。但我从来没有试过这个。 http://www.shlomifish.org/lecture/Vim/beginners/slides/slide30.html – 2009-01-22 20:00:36