Vim 是 Linux 下最高效的文字編輯器,經過適當配置可搖身一變為功能強大的 IDE。本文涵蓋 Vim/GVim 安裝、Vundle 插件管理、核心 .vimrc 配置(編碼、縮排、高亮、摺疊、剪貼板、搜尋、滑鼠、狀態列)的完整建置流程。
# Debian/Ubuntu/Mint
sudo apt-get install vim gvim git
# 或使用 aptitude
sudo aptitude install vim gvim git
# Fedora/CentOS/RHEL
sudo dnf install vim-enhanced vim-X11 git
# Arch Linux
sudo pacman -S vim gvim git
# openSUSE
sudo zypper install vim gvim git
mkdir -p ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
建立 ~/.vimrc(或 /etc/vim/vimrc 全域),分區塊說明:
set nocompatible " 關閉 vi 相容模式
set encoding=utf-8 " 內部編碼
set fileencoding=utf-8 " 檔案編碼
set fileencodings=utf-8,gbk,gb2313,cp936 " 自動偵測編碼優先序
set history=1000 " 命令歷史記錄條數
set autowrite " 自動存檔
set confirm " 未存檔/唯讀時彈出確認
syntax on " 語法高亮
colorscheme ron " 配色方案 (可換 desert, molokai, solarized 等)
set number " 顯示行號
set ruler " 狀態列顯示游標位置
set cursorline " 高亮當前行
set showmatch " 括號匹配提示
set matchtime=2 " 匹配高亮持續 0.2 秒
set tabstop=4 " Tab 寬度 4 空格
set shiftwidth=4 " 自動縮排寬度
set softtabstop=4 " 編輯時 Tab 鍵寬度
set expandtab " Tab 轉空格
set smartindent " 智能縮排
set autoindent " 繼承上行縮排
set ignorecase " 搜尋忽略大小寫
set smartcase " 含大寫則區分大小寫
set incsearch " 逐字符即時搜尋
set hlsearch " 高亮搜尋結果
set nowrapscan " 禁止搜尋循環
set clipboard+=unnamed " 與系統剪貼板共用 (+ 需 vim-gtk/gnome)
set mouse=a " 啟用滑鼠支援 (Shift+右鍵仍保留終端選單)
set noswapfile " 禁用 swap 檔
set nobackup " 禁用備份檔
set foldenable " 啟用摺疊
set foldmethod=syntax " 語法摺疊
set foldlevel=1 " 預設摺疊層級
set foldcolumn=0 " 摺疊欄寬度
set foldclose=all " 離開摺疊區自動關閉
nnoremap @=((foldclosed(line('.'))<0)?'zc':'zo') " Space 切換摺疊
set foldopen-=search " 搜尋不展開摺疊
set foldopen-=undo " 撤銷不展開摺疊
vim +PluginInstall +qall
推薦基礎插件組合:
scrooloose/nerdtree:檔案樹瀏覽ctrlpvim/ctrlp.vim:模糊檔案搜尋vim-airline/vim-airline:狀態列美化tpope/vim-fugitive:Git 整合ycm-core/YouCompleteMe:語義補全(參考前文編譯)foldmethod(indent/marker/manual)ctags / gtags 實現跨檔案跳轉:mksession / :source 保存恢復工作區:PluginUpdate 保持插件最新