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

Posted 低调小一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim中复制粘贴缩进错乱问题的解决方案相关的知识,希望对你有一定的参考价值。

前言

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

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

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

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

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


解决方案

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

:set paste

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

命令模式下,输入

:set nopaste

解除paste模式。

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

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

以上是关于Vim中复制粘贴缩进错乱问题的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

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

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

vim与vi粘贴错乱问题

VIM实用指南(16)vim粘贴格式错乱

Vim 复制粘帖格式错乱问题的解决办法

vim粘贴取消自动缩进