首頁  >  問答  >  主體

Vim貼上程式碼時,顯示層級縮進,如何解決

##

滿天的星座滿天的星座2737 天前640

全部回覆(4)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:42:14

    貼上前:
    :set paste
    貼完了:
    :set nopaste


    另一個很棒的方法:
    :r! cat
    然後用
    shift+insert
    或其他方式貼上程式碼,然後
    ctrl+d
    完成輸入。

    Source

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-16 16:42:14

    我一直用另一個更好的方式:

    augroup PASTETOGGLE
      autocmd! InsertEnter * setlocal paste
      autocmd! InsertLeave * setlocal nopaste
    augroup END
    

    這樣的話在插入模式中貼上的時候根本不需要設定任何東西,也不需要替代的按鍵組合。

    補充:我忘了說這個方法的副作用,它會導致在插入模式下的 'autoindent' 和 'smartindent' 等選項復位,所以等於取消了自動縮進,因此請有選擇的使用。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 16:42:14

    使用vi貼上程式碼就OK了

    回覆
    0
  • 阿神

    阿神2017-05-16 16:42:14

    還可以這樣操作 “+p 來黏貼;
    為了方便我做了個映射 nnoremap <leader>p "+p;
    輸入 :reg 查看暫存器中保留的東西;
    先選取部分字元, 還後 ”+y 可以把選取的部分複製到 系統剪貼簿;
    參考 Accessing the system clipboard How to use vim registers?

    回覆
    0
  • 取消回覆