Vim 是一款功能強(qiáng)大的文本編輯器,在 Debian 系統(tǒng)中非常受歡迎。它具有許多內(nèi)置的特性和靈活的配置選項(xiàng),可以根據(jù)個人喜好和需求進(jìn)行定制。本篇教程將介紹如何使用內(nèi)部特性和外部軟件包定制Vim。
了解如何使用Vim:《Debian類Unix工作環(huán)境》。
一、用內(nèi)部特性定制Vim
vim 的行為能夠被顯著的改變,通過 Ex-模式 的命令,啟用它的內(nèi)部特性,比如 “set …” 來設(shè)置 vim 選項(xiàng)。
這些 Ex-模式 的命令,能夠在用戶的 vimrc 文件里面包括,傳統(tǒng)的 “~/.vimrc” 或 git 友好的 “~/.vim/vimrc”。這里有一個非常簡單的例子:
colorscheme murphy " from /usr/share/vim/vim??/colors/*.vim filetype plugin indent on " filetype aware behavior syntax enable " Syntax highlight "set spelllang=en_us " Spell check language as en_us "set spell " Enable spell check set autoindent " Copy indent from current line set smartindent " More than autoindent (Drop/Pop after {/}) set nosmarttab " <Tab>-key always inserts blanks set backspace=indent,eol,start " Back space through everything set laststatus=2 " Always show status line set statusline=%<%f%m%r%h%w%=%y[U+%04B]%2l/%2L=%P,%2c%V
二、用外部軟件包定制Vim
通過簡單定制,即安裝 vim-scripts 軟件包,并附加下面的內(nèi)容到用戶的 vimrc 文件,能夠啟用 secure-modelines 和傳統(tǒng)的 IDE。
packadd! secure-modelines packadd! winmanager let mapleader = ' ' " Toggle paste mode with <SPACE>p set pastetoggle=<leader>p " IDE-like UI for files and buffers with <space>w nnoremap <leader>w :WMToggle<CR> " Use safer keys <C-?> for moving to another window nnoremap <C-H> <C-W>h nnoremap <C-J> <C-W>j nnoremap <C-K> <C-W>k nnoremap <C-L> <C-W>l
為了使上面的按鍵綁定正確地運(yùn)行,終端程序需要配置:Backspace-鍵產(chǎn)生 “ASCII DEL”、Delete-鍵產(chǎn)生 “Escape sequence”。
新的原生 Vim 軟件包系統(tǒng)同 “git” 和 “git submodule” 順利的工作。一個這樣的配置例子能夠在 我的 git 倉庫: dot-vim 找到。本質(zhì)上是這樣做的:
- 通過使用”git”和”git submodule”,最新的擴(kuò)展軟件包,比如說”name”,會被放到 ~/.vim/pack/*/opt/name 和類似的地方;
- 通過增加 :packadd! name 行到用戶的 vimrc 文件,這些軟件包被放到 runtimepath;
- Vim 在它的初始化時加載這些軟件包到 runtimepath;
- 在它初始化的最后,安裝文檔的標(biāo)簽被更新,使用 “helptags ALL”。
如果想了解更多信息,請使用 “vim –startuptime vimstart.log” 啟動 vim 來檢查實(shí)際的執(zhí)行順序和每一個步驟消耗的時間。
下面能夠發(fā)現(xiàn)有趣的外部插件軟件包:
- Vim – 無所不在的文本編輯器 — Vim 和 vim 腳本的官方上游站點(diǎn)
- VimAwsome — Vim 插件列表
- vim-scripts — Debian 軟件包:一個 vim 腳本的收集
是相當(dāng)迷惑的看到這么多的方式[4] 來管理和加載這些外部的軟件包到 vim。檢查原始的信息是最好的方法。
Vim的初始化信息:
按鍵 | 信息 |
---|---|
:help package |
解釋 vim 軟件包機(jī)制 |
:help runtimepath |
解釋?runtimepath ?機(jī)制 |
:version |
內(nèi)部狀態(tài),包括 vimrc 文件的候選 |
:echo $VIM |
環(huán)境變量 “$VIM ” 用來定位 vimrc 文件的路徑 |
:set runtimepath? |
列出用來搜索所有運(yùn)行時支持文件的目錄 |
:echo $VIMRUNTIME |
環(huán)境變量 “$VIMRUNTIME ” 用來定位大量系統(tǒng)提供的運(yùn)行時支持文件 |