?? usr_05.cnx
字號:
Unix ~/.vim/plugin/ PC and OS/2 $HOME/vimfiles/plugin 或 $VIM/vimfiles/plugin Amiga s:vimfiles/plugin Macintosh $VIM:vimfiles:plugin RISC-OS Choices:vimfiles.plugin以 Unix 系統(tǒng)為例(假設(shè)你還沒有 plugin 目錄):> mkdir ~/.vim mkdir ~/.vim/plugin cp /usr/local/share/vim/vim60/macros/justify.vim ~/.vim/plugin就是這樣了!現(xiàn)在你可以用這個插件定義的命令調(diào)整文字了。文件類型插件 *add-filetype-plugin* *ftplugins*Vim 的發(fā)布中包括一套針對不同文件類型的插件。你可以用如下命令啟用它們:> :filetype plugin on這樣就行了! 參閱 |vimrc-filetype|。如果你缺少某種文件類型的插件,或者你找到一個更好的,你可以自行添加一個。這也只需兩步:1. 獲取一個插件的拷貝2. 塞到合適的目錄。取 得 文 件 類 型 插 件你可以在找全局插件的相同地方找到文件類型插件。注意一下插件有沒有注明文件類型,據(jù)此你可以知道這個插件是全局的還是文件類型相關(guān)的。在 $VIMRUNTIME/macros中的是全局插件;文件類型插件在 $VIMRUNTIME/ftplugin 中。使 用 文 件 類 型 插 件 *ftplugin-name*你可以通過把插件文件放到合適的目錄中來增加一個插件。目錄的名字與前面提過的全局插件的位置一樣,但最后一級目錄是 "ftplugin"。假設(shè)你找到一個用于 "stuff" 文件類型的插件,而且你的系統(tǒng)是Unix。那么,你可以把這個文件用如下命令移入ftplugin目錄:> mv thefile ~/.vim/ftplugin/stuff.vim如果這個文件已經(jīng)存在,你可以檢查一下兩個插件有沒有沖突。如果沒有,你可以用另一個名字:> mv thefile ~/.vim/ftplugin/stuff_too.vim這里,下劃線用來分開文件類型和其它部分(這些部分可以由任意字符組成)。但如果你用 "otherstuff.vim" 就不行了。那是用于 "otherstuff" 類型的文件的。在 MS-DOS 中不能使用長文件名。如果你增加第二個插件,而這個插件超過 6 個字符,你就沒法用了。你可以通過使用另一層目錄來解決這個問題:> mkdir $VIM/vimfiles/ftplugin/fortran copy thefile $VIM/vimfiles/ftplugin/fortran/too.vim總的來說,一個文件類型相關(guān)的插件的名稱是: > ftplugin/<filetype>.vim ftplugin/<filetype>_<name>.vim ftplugin/<filetype>/<name>.vim這里 "<name>" 可以是任何你喜歡的名字。例如,在 Unix 下,"stuff" 文件類型的插件可以是:> ~/.vim/ftplugin/stuff.vim ~/.vim/ftplugin/stuff_def.vim ~/.vim/ftplugin/stuff/header.vim這里, <filetype> 部分是相應(yīng)文件類型的名稱。只有對應(yīng)文件類型的文件才會用這個插件內(nèi)的設(shè)置。插件的 <name> 部分則不重要,你可以對同一個文件類型使用多個插件。Note 插件必須以 ".vim" 結(jié)尾。深入?yún)⒖甲x物:|filetype-plugins| 文件類型插件的文檔和有關(guān)如何避免映射引起的問題。|load-plugins| 全局插件的啟動時間|ftplugin-overrule| 控制全局文件類型插件的選項(xiàng)|write-plugin| 如何寫插件|plugin-details| 關(guān)于如何使用插件的信息或者當(dāng)你的插件不工作的時候如何 處理。==============================================================================*05.5* 增加幫助 *add-local-help* *matchit-install*如果幸運(yùn)的話,你安裝的插件還會包括幫助文件。我們這里解釋如何安裝這個幫助文件,以便你能方便地獲得新插件的幫助。我們以 "matchit.vim" 插件為例(包括在 Vim 中)。這個插件使 "%" 命令可以在兩個對應(yīng)的 HTML 標(biāo)記間,Vim 腳本的 if/else/endif 間等匹配點(diǎn)間跳轉(zhuǎn)。這非常有用,但它不向前兼容(這也是為什么默認(rèn)的情況下它不會被激活)。 這個插件有一個文檔:"matchit.txt"。我們先來把該插件拷貝到合適的位置。這次,我們在 Vim 內(nèi)完成這個工作,以便利用$VIMRUNTIME。(如果某些目錄已經(jīng)存在你可以省略一些 "mkdir" 命令)> :!mkdir ~/.vim :!mkdir ~/.vim/plugin :!cp $VIMRUNTIME/macros/matchit.vim ~/.vim/plugin現(xiàn)在在某個 'runtimepath' 目錄中建立一個 doc 目錄。> :!mkdir ~/.vim/doc再把幫助文件拷貝進(jìn)去:> :!cp $VIMRUNTIME/macros/matchit.txt ~/.vim/doc現(xiàn)在開始玩技巧了,怎樣使 Vim 允許你跳轉(zhuǎn)到新的主題上?用 |:helptags| 命令產(chǎn)生一個本地的tags文件即可:> :helptags ~/.vim/doc現(xiàn)在,你可以用這個命令> :help g%來獲得 "g%" 的幫助了。在使用如下命令的時候,可以看見一個新的條目:> :help local-additions本地幫助的標(biāo)題行被自動的加入到該節(jié)了。在那里你可以看到 Vim 添加了那些本地的幫助文件。你還可以從這里跳轉(zhuǎn)到新的幫助中。要寫一個本地幫助文件,請參考 |write-local-help|。=============================================================================*05.6* 選項(xiàng)窗口如果要找一個選項(xiàng),你可以查找這個位置的幫助:|options|。另一個方法是用如下命令:> :options這會打開一個新窗口,其中給出一個選項(xiàng)的列表,并對每個選項(xiàng)提供一行解釋。這些選項(xiàng)被根據(jù)種類分組。把光標(biāo)移到一個主題上然后按 <Enter> 就可以跳轉(zhuǎn)到那里。再按一下<Enter> 或者 CTRL-O 就可以跳回來。你可以通過這個窗口改變一個選項(xiàng)的值。例如,移到 "displaying text" 主題。然后把光標(biāo)下移到這一行: set wrap nowrap ~當(dāng)你在上面鍵入回車,這行會改變?yōu)椋?/span> set nowrap wrap ~現(xiàn)在,這個選項(xiàng)被關(guān)閉了。這行的上面是對這個選項(xiàng)的簡要描述。將光標(biāo)向上移動一行,然后按 <Enter>,你可以跳轉(zhuǎn)到 'wrap' 的完整幫助,再用 CTRL-O 可以跳回來。對于那些值為數(shù)字或者字符串的選項(xiàng),你可以編輯它的值,然后按 <Enter> 來啟用該值。例如,把光標(biāo)移動到下面這行: set so=0 ~用 $ 移到行尾,再用 "r5" 命令修改為五,然后按 <Enter> 使修改生效。現(xiàn)在如果你移動一下光標(biāo),你會發(fā)現(xiàn)在你的光標(biāo)移到窗口邊界前,你的文字就開始滾動了。這就是選項(xiàng) 'scrolloff' 完成的功能:它指定在距離邊界多遠(yuǎn)的地方開始滾動文字。=============================================================================*05.7* 常用選項(xiàng)Vim 中有很多選項(xiàng)。大部分你很少用得上。我們在這個介紹一些常用的。別忘了你可以通過 ":help" 命令獲得更多的幫助。方法是在選項(xiàng)命令前后加上單引號,例如:> :help 'wrap'如果你搞亂了一個選項(xiàng),你可以通過在選項(xiàng)后加上一個 & 號把它恢復(fù)到默認(rèn)值。例如:> :set iskeyword&禁 止 折 行Vim 通常會對長行自動換行,以便你可以看見所有的文字。但有時最好還是能讓文字在一行中顯示完。這樣,你需要左右移動才能看到一整行。以下命令可以切換換行方式:> :set nowrap當(dāng)你移到到那些不能顯示的文字上,Vim 會自動向右滾動讓你看到后面的文字,要一次滾動十個字符,這樣就行了:> :set sidescroll=10這個命令不改變文件中的文字,只改變顯示方式。移 動 命 令 換 行很多命令只能在一行中移動。你可以通過 'whichwrap' 選項(xiàng)改變它。如下命令把這個選項(xiàng)設(shè)為默認(rèn)值:> :set whichwrap=b,s這樣,當(dāng)光標(biāo)處于行首時用 <BS> 鍵可以回到前一行的結(jié)尾;當(dāng)處于行尾時用 <Space>鍵可以移動到下一行的行首。要允許 <Left> 和 <Right> 鍵也能這樣,可以用這個命令:> set whichwrap=b,s,<,>這只在普通模式中有效,要在插入模式中也有效,可以:> :set whichwrap=b,s,<,>,[,]還有一些可以用的標(biāo)志,參見 'whichwrap'。顯 示 TAB 鍵文件中有 TAB 鍵的時候,你是看不見的。要把它顯示出來:> :set list現(xiàn)在 TAB 鍵顯示為 ^I,而 $顯示在每行的結(jié)尾,以便你能找到可能會被你忽略的空白字符在哪里。 這樣做的一個缺點(diǎn)是在有很多 TAB 的時候看起來很丑。如果你使用一個有顏色的終端,或者使用 GUI 模式,Vim 可以用高亮顯示空格和TAB。 使用 'listchars' 選項(xiàng):> :set listchars=tab:>-,trail:-現(xiàn)在,TAB會被顯示成 ">---" ("-" 的個數(shù)不定) 而行尾多余的空白字符顯示成 "-"。看起來好多了,是吧?關(guān) 鍵 字'iskeyword' 選項(xiàng)指定那些字母可以出現(xiàn)在一個單詞中:> :set iskeyword< iskeyword=@,48-57,_,192-255 ~"@" 表示所有字母。"48-57" 表示 ASCII 字符 48-57 ,即數(shù)字 0 到 9。"192-255"是可打印的拉丁字符。 有時你希望橫線也是關(guān)鍵字,以便 "w" 命令會把 "upper-case" 看作是一個單詞。你可以這樣做:> :set iskeyword+=- :set iskeyword< iskeyword=@,48-57,_,192-255,- ~看一下新的值,你會發(fā)現(xiàn) Vim 自動在 "-" 前面加了一個逗號。 要從中去掉一個字符用 "-="。例如要排除下劃線:> :set iskeyword-=_ :set iskeyword< iskeyword=@,48-57,192-255,- ~這回,逗號自動被刪除了。顯 示 消 息 的 空 間當(dāng) Vim 啟動的時候,在屏幕底部有一行被用于顯示消息。當(dāng)消息很長的時候,多余的部分會被截?cái)唷_@樣你只能看到一部分。或者文字自動滾動,你要按 <Enter> 來繼續(xù)。你可以給 'cmdheight' 選項(xiàng)賦一個值,用來設(shè)定顯示消息所用的行數(shù)。例如:> :set cmdheight=3這樣意味著你用于編輯文字的空間少了,所以這實(shí)際上是一種折衷。=============================================================================下一章:|usr_06.txt| 使用語法加亮版權(quán):參見|manual-copyright| vim:tw=78:ts=8:ft=help:norl:
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -