Vim中复制粘贴缩进错乱问题的解决方案

发布于 22 天前  21 次阅读


这是一则记录贴,防止小技巧遗忘。

不知道大家是否会有这种困扰,例如在Android Studio有一段缩进优美的代码实现,例如:

public void sayHello() {
    String msg = "Hello Vim Paste Mode";
    System.out.println(msg);
}

当你把这段缩进优美的代码直接ctrl+c,ctrl+v到Vim的时候,就会出现如下恶心的情况:

disgusting_code

可以看到,这种直接粘贴的方式会导致代码丢失和缩进错乱等情况。


解决方案

vim进入paste模式,命令如下:

:set paste

进入paste模式之后,再按i进入插入模式,进行复制、粘贴就很正常了。

beautiful_code

命令模式下,输入

:set nopaste

解除paste模式。

paste模式主要帮我们做了如下事情:

textwidth设置为0
wrapmargin设置为0
set noai
set nosi
softtabstop设置为0
revins重置
ruler重置
showmatch重置
formatoptions使用空值


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。