1. 程式人生 > >Vim中複製貼上縮排錯亂問題的解決方案

Vim中複製貼上縮排錯亂問題的解決方案

前言

這是一則記錄貼,防止小技巧遺忘。

不知道大家是否會有這種困擾,例如在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使用空值