如何从具有相同格式的剪贴板粘贴源代码

时间:2014-04-08 12:26:27

标签: vim formatting paste

我不知道为什么但如果我通过Vim快捷方式从某些外部程序复制代码,CTRL + V + P总是搞乱我的格式化。例如,这段XML代码

<dependency>
    <groupId>org.jboss.test</groupId>
    <artifactId>richfaces-selenium</artifactId>
    <scope>test</scope>
</dependency>

像这样被复制到Vim中(对不起|个来自indentLine插件的<{1}}字符

<dependency>
    │   │   │   │   │   <groupId>org.jboss.test</groupId>
    │   │   │   │   │   │   │   │   <artifactId>richfaces-selenium</artifactId>
    │   │   │   │   │   │   │   │   │   │   │   <scope>test</scope>
    │   │   │   │   │   │   │   │   │   │   │   │   │   </dependency>

那我该如何解决这个问题呢?当我粘贴Java或Python代码时,也会发生类似的事情。

2 个答案:

答案 0 :(得分:2)

在Vim中使用paste模式,禁用自动缩进。这可以在插入模式下完成。 :help paste

答案 1 :(得分:0)

我一直有这个问题。就个人而言,我还没有尝试修复我将其粘贴的方式,但是在粘贴之后我会快速修复。

在您通过代码后,按Esc几次并执行此命令

gg=G

基本分类:

gg --> Go to beginning of File
=  --> Indent
G  --> Go to end of File

应根据.vimrc上的缩进设置正确缩进所有内容(如果没有,则只执行基本的缩进设置)。