红联Linux门户
Linux帮助

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

发布时间:2015-12-12 15:10:25来源:linux网站作者:低调小一

前言

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

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

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

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

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

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


解决方案

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

:set paste

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

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

命令模式下,输入

:set nopaste

解除paste模式。

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

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


Vim复制粘贴与寄存器:http://www.linuxdiyf.com/linux/13999.html

在Linux终端和Vim下复制粘贴:http://www.linuxdiyf.com/linux/12348.html

Vim使用系统粘贴板复制粘贴:http://www.linuxdiyf.com/linux/2222.html

使用vi文本编辑器及Linux复制粘贴小技巧:http://www.linuxdiyf.com/linux/11308.html

VMware的Ubuntu与实际机器之间文本的复制粘贴需要安装VMware Too:http://www.linuxdiyf.com/linux/11836.html