從 Visual Studio 複製代碼,在 Linux 終端 Vim 中粘貼,縮進錯亂、多出空行、註解符號錯位。
Vim 的 autoindent / smartindent / cindent 會在粘貼時**自動插入縮進字符**,導致原本的縮進被疊加。
:set paste
" 粘貼代碼
:set nopaste
paste 選項會暫時禁用自動縮進、展開制表符等干擾格式的功能。" 取消所有自動縮進相關設置
set noautoindent
set nosmartindent
set nocindent
" 可選:保留文件類型檢測縮進
filetype plugin indent on
" F2 切換 paste 模式
set pastetoggle=
按 F2 → 粘貼 → 按 F2 復原,無需修改配置。
跨編輯器粘貼代碼,**開啟 Vim paste 模式**是標準解法。永久關閉自動縮進雖有效,但失去了編寫代碼時的輔助,建議用 pastetoggle 靈活切換。