Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Vim 編輯器設定 Tab 為 4 空格完整指南:.vimrc 配置、自動縮排切換與貼上模式技巧

編輯:關於 Linux

Vim 是 Linux 系統管理員與開發者最常用的編輯器。統一縮排風格 (Tab = 4 空格) 能大幅提升程式碼可讀性與團隊協作一致性。本文提供完整的 .vimrc 設定範例,涵蓋基本縮排、Makefile 例外、貼上模式切換、暫時關閉自動縮排等實用技巧。

Vim 縮排設定示意圖

核心 .vimrc 設定內容

" 只有支援 autocommands 時才執行
if has("autocmd")
    " 啟用檔案類型偵測、外掛與自動縮排
    filetype plugin indent on

    " Makefile 使用硬性 Tab (寬度 8),不轉空格
    autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab
endif

" 通用設定:Tab = 4 空格
set tabstop=4       " Tab 顯示寬度 = 4 空格
set shiftwidth=4    " 自動縮排寬度 = 4 空格
set softtabstop=4   " 編輯時 Tab 鍵插入 4 空格
set expandtab       " 將 Tab 字元轉換為空格

參數詳細說明

參數作用建議值
tabstop (ts) 螢幕上 Tab 字元顯示寬度 4
shiftwidth (sw) >>/<<、自動縮排的寬度 4
softtabstop (sts) 插入模式下按 Tab/Backspace 的空格數 4
expandtab (et) 將輸入的 Tab 轉為空格 開啟

注意:設定 expandtab 後,檔案內實際儲存的是空格字元;若在未設定 expandtab 的編輯器開啟,仍會顯示為 Tab 寬度。

貼上模式:避免程式碼貼上時亂縮排

方法一:切換鍵 (推薦)

set pastetoggle=
" 插入模式下按 F9 切換 paste/nopaste
  • 進入貼上模式:按 F9 → 顯示 -- INSERT (paste) --
  • 貼上程式碼
  • 離開貼上模式:再按 F9 → 恢復自動縮排

方法二:手動指令

:set paste      " 開啟貼上模式
" 貼上程式碼
:set nopaste    " 關閉貼上模式,恢復自動縮排

針對不同語言的進階設定範例

" Python: PEP 8 建議 4 空格,已符合預設
" Go: 官方要求 Tab,需關閉 expandtab
autocmd FileType go setlocal noexpandtab tabstop=4 shiftwidth=4

" HTML/CSS/JS: 2 空格風格
autocmd FileType html,css,javascript setlocal tabstop=2 shiftwidth=2 softtabstop=2

" YAML: 嚴禁 Tab,僅 2 空格
autocmd FileType yaml setlocal tabstop=2 shiftwidth=2 softtabstop=2 expandtab

驗證設定是否生效

:set tabstop? shiftwidth? softtabstop? expandtab?
" 或開啟檔案後輸入
:verbose set tabstop?

設定完成後,Vim 將在大多數程式語言中自動維持 4 空格縮排,貼上程式碼時透過 F9 一鍵切換,極大提升編輯效率與程式碼品質。

Copyright © Windows教程網 All Rights Reserved