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

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

技術標籤:vimshellvim貼上格式

需求

不知道大家是否會有這種困擾,例如在Android Studio有一段縮排優美的程式碼實現,例如:

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

當你把這段縮排優美的程式碼直接ctrl+cctrl+vVim的時候,就會出現如下噁心的情況:
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使用空值

參考

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