需求
不知道大家是否会有这种困扰,例如在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
进入插入模式,进行复制、粘贴就很正常了。
- 命令模式下,输入
:set nopaste
解除paste模式。
paste模式主要帮我们做了如下事情:
- textwidth设置为0
- wrapmargin设置为0
- set noai
- set nosi
- softtabstop设置为0
- revins重置
- ruler重置
- showmatch重置
- formatoptions使用空值