vim中文教程SYNTAX部分_第1頁
vim中文教程SYNTAX部分_第2頁
vim中文教程SYNTAX部分_第3頁
vim中文教程SYNTAX部分_第4頁
vim中文教程SYNTAX部分_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SYNTAX*syntax.txt* For Vim version 6.4. 最近更新: 2006年3月 VIM 參考手冊 by Bram Moolenaar 譯者: Willis 語法高亮 *syntax* *syntax-highlighting* *coloring*語法高亮使得 Vim 可以用不同的字體或顏色顯示文本的不同部分。這些部分可以是特定的關鍵字,或者匹配某模式的文本。Vim 不會分析整個文件 (為了保持快速),所以高亮功能有其限制。詞法高亮或者是一個更合適的名字,但既然大家都使用語法高亮,我們也就如此稱呼。Vim 支持所有終端上的語法高亮。但因為多數(shù)普通的終端只有有限的高亮

2、的選擇,GUI 版本 gvim 的語法高亮的效果最好。用戶手冊里:| HYPERLINK /xbzhou/blog/archives/vimmanual/usr_06.html l usr_06.txt usr_06.txt| 介紹語法高亮。| HYPERLINK /xbzhou/blog/archives/vimmanual/usr_44.html l usr_44.txt usr_44.txt| 介紹如何寫語法文件。1. 快速入門 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-qstart :syn-qstar

3、t|2. 語法文件 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-files :syn-files|3. 語法載入過程 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l syntax-loading syntax-loading|4. 語法文件附注 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-file-remarks :syn-file-remarks|5. 定義語法

4、| HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-define :syn-define|6. :syntax 參數(shù) | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-arguments :syn-arguments|7. 語法模式 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-pattern :syn-pattern|8. 語法簇 | HYPERLINK /xbzh

5、ou/blog/archives/vimmanual/syntax.html l :syn-cluster :syn-cluster|9. 包含語法文件 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-include :syn-include|10. 同步 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-sync :syn-sync|11. 列出語法項目 | HYPERLINK /xbzhou/blog/archives/vimmanual

6、/syntax.html l :syntax :syntax|12. Highlight 命令 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :highlight :highlight|13. 鏈接組 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :highlight-link :highlight-link|14. 清理 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :syn-clea

7、r :syn-clear|15. 高亮標簽 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l tag-highlight tag-highlight|16. 彩色 xterm | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l xterm-color xterm-color|Vi 無此功能如果編譯時關閉了 | HYPERLINK /xbzhou/blog/archives/vimmanual/various.html l +syntax +syntax| 特性,就不

8、會有語法高亮的功能。1. 快速入門 *:syn-qstart* *:syn-enable* *:syntax-enable*這個命令打開語法高亮: :syntax enable實際上,它只是執(zhí)行如下命令 :source $VIMRUNTIME/syntax/syntax.vim如果沒有設置 VIM 環(huán)境變量,Vim 會試圖用其它方法找到該路徑 (見| HYPERLINK /xbzhou/blog/archives/vimmanual/starting.html l $VIMRUNTIME $VIMRUNTIME|)。通??偰苷业?,如果不行,你可以自己設置 VIM 環(huán)境變量為存放 Vim 相關文

9、件所在的目錄。例如,如果你的語法文件放在 /usr/vim/vim50/syntax 目錄,設置$VIMRUNTIME 為 /usr/vim/vim50。啟動 Vim 前,你必須在外殼上進行此設置。 *:syn-on* *:syntax-on*:syntax enable 命令會保持你當前的色彩設置。這樣,不管在使用此命令的前后,你都可以用 :highlight 命令設置你喜歡的顏色。如果你希望 Vim 用缺省值覆蓋你自己的,只要用: :syntax on *:hi-normal* *:highlight-normal*如果你運行在 GUI 環(huán)境里,你可以這樣得到黑底白字: :highligh

10、t Normal guibg=Black guifg=White關于色彩終端,見 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l :hi-normal-cterm :hi-normal-cterm|。關于設置你自己的語法高亮色彩,見 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l syncolor syncolor|。注意: MS-DOS 和 Windows 上的語法文件以 結束每一行。Unix 上則以 結尾。這意味著你需要為自己的系統(tǒng)選擇合適的文件。不過,在

11、 MS-DOS 和 Windows上,如果 fileformats 選項非空,會自動選擇正確的格式。注意: 使用反轉視頻時 (gvim -fg white -bg black),background 的缺省值直到GUI 窗口打開時才會設置。這發(fā)生在 .gvimrc 的讀入之后,從而會使用錯誤的缺省高亮。要在打開高亮前設置 background 的缺省值,在 .gvimrc 文件里包含 :gui 命令: :gui 打開窗口并設置 background 的缺省值 :syntax on 啟動語法高亮,使用 background 來設置顏色注意: 在 .gvimrc 里使用 :gui 意味著 gvim

12、 -f 不會在前臺打開!這時,要使用:gui -f。你可以用這個命令切換語法的打開/關閉 :if exists(syntax_on) | syntax off | else | syntax enable | endif要把它放到映射里,你可以用: :map :if exists(syntax_on) syntax off else syntax enable endif 使用 | HYPERLINK /xbzhou/blog/archives/vimmanual/intro.html l %3C%3E | 記法,按本義輸入細節(jié):syntax 命令是用執(zhí)行文件腳本實現(xiàn)的。要了解它到底干了什么,

13、察看以下文件: 命令 文件 :syntax enable $VIMRUNTIME/syntax/syntax.vim :syntax on $VIMRUNTIME/syntax/syntax.vim :syntax manual $VIMRUNTIME/syntax/manual.vim :syntax off $VIMRUNTIME/syntax/nosyntax.vim另見 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l syntax-loading syntax-loading|。2. 語法文件 *:syn-files*

14、某個語言的語法和高亮命令通常存在一個語法文件里。命名慣例是: name.vim。其中,name 是語言的名字或者縮寫 (一旦在 DOS 文件系統(tǒng)上,要適用 8.3 字符的名字限制)。例如: c.vim perl.vim java.vim html.vim cpp.vim sh.vim csh.vim語法文件可以包含任何 Ex 命令,就像 vimrc 文件那樣。但應該只有適用于特定語言的命令才放在里面。如果該語言是另外一個語言的超集,它可以包含那個語言對應的文件。例如,cpp.vim 可以包含 c.vim 文件: :so $VIMRUNTIME/syntax/c.vim.vim 文件通常使用自動

15、命令載入。例如: :au Syntax c runtime! syntax/c.vim :au Syntax cpp runtime! syntax/cpp.vim這些命令通常出現(xiàn)在 $VIMRUNTIME/syntax/synload.vim 文件里。創(chuàng) 立 你 自 己 的 語 法 文 件 *mysyntaxfile*一旦你創(chuàng)立自己的語法文件,并且需要 Vim 在使用 :syntax enable 的時候自動調用它們的時候,按如下操作進行:1. 建立自己的用戶運行時目錄。通常,把它放在 runtimepath 選項的第一項。Unix的例子: mkdir /.vim2. 在其中建立 synta

16、x 目錄。Unix 上: mkdir /.vim/syntax3. 編寫 Vim 語法文件?;蛘邚?internet 下載。然后寫入你的 syntax 目錄。例如,對于 mine 語言的語法: :w /.vim/syntax/mine.vim現(xiàn)在你可以手動啟動語法文件: :set syntax=mine這時,你并不需要退出 Vim。如果你想 Vim 也實現(xiàn)文件類型的檢測,見 | HYPERLINK /xbzhou/blog/archives/vimmanual/filetype.html l new-filetype new-filetype|。如果你想為多個用戶設立系統(tǒng),而不希望每個用戶增加

17、相同的語法文件的話,可以使用runtimepath 里的其它目錄。添 加 到 已 存 在 的 語 法 文 件 *mysyntaxfile-add*如果你對已有的語法文件大體滿意,只需要增加或者修正一些高亮項目,執(zhí)行以下步驟即可:1. 建立你的 runtimepath 里的用戶目錄,見上。2. 在那里建立目錄 after/syntax。Unix 上: mkdir /.vim/after mkdir /.vim/after/syntax3. 編寫 Vim 腳本,包含你希望使用的命令。例如,要在 C 語法里改變顏色: highlight cComment ctermfg=Green guifg=Gr

18、een4. 把該文件寫道 after/syntax 目錄。使用該語法的名字,另加上 .vim。對于我們的 C 語法: :w /.vim/after/syntax/c.vim這樣就行了。下一次你編輯 C 文件時,Comment 色彩就不會一樣了。你甚至不需要重啟Vim。替 換 已 存 在 的 語 法 文 件 *mysyntaxfile-replace*如果你不喜歡發(fā)布的語法文件版本,或者你下載了新版本??梢圆捎蒙鲜龅膢 HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l mysyntaxfile mysyntaxfile| 相同的步驟。

19、只要確保你寫的語法文件在 runtimepath 較早的位置就可以了。Vim 只會載入第一個找到的語法文件。命 名 慣 例 *group-name* *group-name* *E669* *W18*高亮或者語法組的名字必須由 ASCII 字母,數(shù)字和下劃線組成。如使用正規(guī)表達式表示:a-zA-Z0-9_*。要允許每個用戶選擇他自己喜歡的色彩系列,許多語言應該使用相同的高亮組名。以下是建議的組名 (如果語法高亮能夠正確工作,你應該能看到實際的顏色,除了 Ignore 以外): *Comment v 任何注釋 *Constant v 任何常數(shù) String v 一個字符串常數(shù): 這是一個字符串

20、Character v 一個字符常數(shù): c、n Number v 一個數(shù)字常數(shù): 234、0 xff Boolean v 一個布爾型常數(shù): TRUE、false Float v 一個浮點常數(shù): 2.3e10 *Identifier v 任何變量名 Function v 函數(shù)名 (也包括: 類的方法名) *Statement v 任何語句 Conditional v if、then、else、endif、switch 等 Repeat v for、do、while、etc. Label v case、default 等 Operator v sizeof、+、* 等 Keyword v 任何其它

21、關鍵字 Exception v try、catch、throw *PreProc v 通用預處理命令 Include v 預處理命令 #include Define v 預處理命令 #define Macro v 等同于 Define PreCondit v 預處理命令 #if、#else、#endif 等 *Type v int、long、char 等 StorageClass v static、register、volatile 等 Structure v struct、union、enum 等 Typedef v 一個 typedef *Special v 任何特殊符號 SpecialC

22、har v 常數(shù)中的特殊字符 Tag v 這里可以使用 CTRL- Delimiter v 需要注意的字符 SpecialComment v 注釋里的特殊字符 Debug v 調試語句 *Underlined v 需要突出的文本,HTML 鏈接 *Ignore v 留空,被隱藏 *Error v 任何有錯的構造 *Todo v 任何需要特殊注意的部分;多是關鍵字 TODO FIXME 和 XXX* 標記的名字是主要組,其它是次要組。對主要組而言,syntax.vim 文件包含缺省的高亮設置。次要組則鏈接到主要組。所以它們擁有相同的高亮設置。不過,你可以通過:highlight 命令在 synt

23、ax.vim 文件之后改變所有組的缺省值。注意高亮組的名字對大小寫不敏感。String 和 string 可用來表示相同的組。以下名字是保留字,它們不應用作組名: NONE ALL ALLBUT contains contained3. 語法載入過程 *syntax-loading*這里解釋命令 :syntax enable 執(zhí)行的細節(jié)。Vim 初始化自身時,它尋找運行時文件的位置。其值用來設置這里使用的變量 | HYPERLINK /xbzhou/blog/archives/vimmanual/starting.html l $VIMRUNTIME $VIMRUNTIME|。:syntax

24、enable 和 :syntax on 完成以下步驟: 執(zhí)行 $VIMRUNTIME/syntax/syntax.vim | +- 清除舊的語法: 執(zhí)行 $VIMRUNTIME/syntax/nosyntax.vim | +- 先執(zhí)行 runtimepath 里的 syntax/synload.vim | | | +- 為語法高亮設置色彩。如果已經定義了色彩方案,使用 :colors name | | 再次載入。不然,執(zhí)行 :runtime! syntax/syncolor.vim。:syntax on | | 會覆蓋已有的顏色,而 :syntax enable 只會設置沒有設置過的組。 |

25、| | +- 設置 syntax 自動命令,以便在設置 syntax 選項時,自動載入合適的語 | | 法文件。 *synload-1* | | | +- 通過 |mysyntaxfile| 變量,載入用戶可選的文件。這只是為了和 Vim 5.x | | 兼容。 *synload-2* | +- 執(zhí)行 :filetype on,后者又執(zhí)行 :runtime! filetype.vim。它載入任何找 | 到的 filetype.vim。其中,總會執(zhí)行 $VIMRUNTIME/filetype.vim。后者執(zhí)行: | | | +- 根據(jù)后綴名,安裝自動命令來設置 filetype 選項。這為已知的

26、文件類型 | | 建立了文件名和文件類型的聯(lián)系。 *synload-3* | | | +- 通過 *myfiletypefile* 變量,載入用戶可選的文件。這只是為了和 Vim | | 5.x 兼容。 *synload-4* | | | +- 安裝自動命令,在沒有檢測到文件類型時執(zhí)行 scripts.vim 。 | | *synload-5* | | | +- 執(zhí)行 $VIMRUNTIME/menu.vim,設置 Syntax 菜單。|menu.vim| | +- 安裝 FileType 自動命令,在檢測到文件類型時,設置 syntax 選項。 | *synload-6* | +- 執(zhí)行 s

27、yntax 自動命令,為每個已經載入的緩沖區(qū)啟動語法高亮。載入文件時,Vim 這樣查找相關的語法文件: 文件的載入激活 BufReadPost 自動命令。 | +- 如果和 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l synload-3 synload-3| 中的一個自動命令匹配 (已知的文件類型) 或者 | |synload-4| (用戶的文件類型),filetype 選項設為文件的所屬類型。 | +- 如果文件類型沒有找到,激活 | HYPERLINK /xbzhou/blog/archives/vimmanual/s

28、yntax.html l synload-5 synload-5| 中的自動命令,并在 | runtimepath 里找尋 scripts.vim。其中,總是會執(zhí)行 | $VIMRUNTIME/scripts.vim。后者執(zhí)行以下步驟。 | | | +- 通過 *myscriptsfile* 變量,載入用戶可選的文件。這只是為了和 Vim | | 5.x 兼容。 | | | +- 如果文件類型仍然未知,檢查文件的內容,并使用類似于 | getline(1) = pattern 的檢查確定文件類型能否識別,并設置 | filetype。 | +- 如果文件類型被確定并且設置了 filetype,

29、激活 FileType 自動命令,見上 | 面的 |synload-6|。根據(jù)確定的文件類型設置 syntax。 | +- 上面設置 syntax 選項的步驟激活 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l synload-1 synload-1| (和 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l synload-2 synload-2|) 設置的自 | 動命令。它會使用以下命令找到 runtimepath 里的主語法文件: | runtime! sy

30、ntax/.vim | +- 激活任何用戶安裝的 FileType 或 Syntax 自動命令。這可以用來為某項語法修 正高亮方式。4. 語法文件附注 *:syn-file-remarks* *b:current_syntax-variable*根據(jù)當前激活的是哪部語法,Vim 把載入的語法的名字保存在 b:current_syntax 變量里。例如: :au BufReadPost * if b:current_syntax = csh :au BufReadPost * 做一些事 :au BufReadPost * endif2HTML *2html.vim* *convert-to-HT

31、ML*它本身并不是語法文件,只是一個把當前窗口轉換成 HTML 的腳本。Vim 打開一個新窗口,在那里它構造 HTML 文件。你不應該設置 filetype 或 syntax 選項為 2html!執(zhí)行此腳本,以轉換當前文件: :runtime! syntax/2html.vim警告: 這挺慢的! *:TOhtml*也可以使用 :TOhtml 用戶命令。它是在一個標準插件里定義的。:TOhtml 可用于行范圍和可視區(qū)域: :10,40TOhtml保存結果文件以后,你可以使用任何 HTML 察看器瀏覽,比如 Netscape。那里的顏色應該和你在 Vim 里看到的一模一樣。要限制轉換的行范圍,設置

32、 html_start_line 和 html_end_line 分別為要轉換的第一行和最后一行。例如,要指定最近設置的可視區(qū)域: :let html_start_line = line()行的標號方式根據(jù) number 選項和 Number 高亮屬性而定。通過設置html_number_lines 為一非零值,你可以讓輸出的 HTML 強制給行編號: :let html_number_lines = 1設為零則強制關閉行號: :let html_number_lines = 0要回到缺省情況,即使用 number 的設置,可刪除此變量: :unlet html_number_lines缺省情

33、況生成為舊版本的瀏覽器優(yōu)化的 HTML。如果你希望使用層疊樣式表 (CSS1) 來設置屬性 (產生相當簡潔且合法的 HTML 4 文件),可用: :let html_use_css = 1缺省使用 和 圍繞文本。使得這些文本看起來和 Vim 的一致,但沒有回繞。如果你希望有回繞,且可以忍受不太一致的外觀,可使用: :let html_no_pre = 1這會在每行結束的地方使用 ,而用 來顯示連續(xù)的空格。encoding 的當前值用于指定 HTML 文件的字符集。這只適用于 encoding 的值有對應的 HTML 字符集名字的時候。要改變這種機制,設置 g:html_use_encoding

34、 為要用的字符集名: :let html_use_encoding = foobar如果不想產生指定字符集的那行,設置 g:html_use_encoding 為空字符串: :let html_use_encoding = 要回到自動的機制,刪除 g:html_use_encoding 變量: :unlet html_use_encoding *convert-to-XML* *convert-to-XHTML*另一個選擇是使用該腳本產生 XHTML (XML 兼容的 HTML)。這可以通過設置 use_xhtml變量完成: :let use_xhtml = 1要關閉此選擇,刪除該變量: :u

35、nlet use_xhtml這里產生的 XHTML 文件可以在 DocBook XML 文檔里使用。見: http:/people.mech.kuleuven.ac.be/pissaris/howto/src2db.html評注:- 只有在 GUI 支持的版本里,才能工作。如果沒有運行 GUI (可能仍然使用 X11),或許 也可以,但是效果不一定好 (顏色可能不對)。- 較舊的瀏覽器不會顯示背景色。- 你可以在大多數(shù)瀏覽器里打印文件 (而且有顏色)!此處是一個如何在 Unix 外殼上給所有的 .c 和 .h 文件運行此腳本的例子: for f in *.ch; do gvim -f +syn

36、 on +run! syntax/2html.vim +wq +q $f; doneABEL *abel.vim* *abel-syntax*ABEL 高亮設置提供一些用戶定義的選項。要打開這些選項,給相應的選項設置任意值。例如: :let abel_obsolete_ok=1可用 :unlet 關閉。例如: :unlet abel_obsolete_ok變量 高亮 abel_obsolete_ok 廢棄的關鍵字接受為 statement,而非 errorabel_cpp_comments_illegal 不把 / 解釋為行內注釋的引導符ADA *ada.vim* *ada-syntax*本模

37、塊為 1995 年版的 Ada (Ada95) 設計,它支持面向對象編程,受保護的類型,等等。它也能處理為原始 Ada 語言的代碼 (Ada83 或 Ada87),不過 Ada83 代碼里如果使用 Ada95 才有的關鍵字的話,顏色顯示會不正確 (不過這樣的代碼本來也應該修正)。更多關于 Ada 的信息,見 。Ada 模式正確地處理一些情況。例如,它知道 -5 里的 - 是數(shù)字的一部分,但A-5 里的該字符則是操作符。通常,引用別的編譯單元的 with 或 use 語句使用C 里面的 #include 相同的色彩。如果你為 Conditional 或 Repeat 組指定了不同的色彩,那么 e

38、nd if 和 end loop 會根據(jù)它們所在的組被分別標色。你可以用vim 的 highlight 命令來給出不同的顏色 (例如,要改變循環(huán)的顯示方式,輸入命令:hi Repeat,后面跟色彩的規(guī)格說明;在普通終端上,色彩規(guī)格 ctermfg=White 通常就有不錯的顯示效果)。本 Ada 模式可以設置若干選項。給選項賦值就可以打開。例如,要打開一個選項: let ada_standard_types = 1可用 :unlet 關閉。例如: unlet ada_standard_types = 1使用 : 并在命令行輸入這些命令就可以在載入 Ada 文件時臨時設置選項。要永久設置,把 l

39、et 命令加到你的 /.vimrc 文件里,無需冒號。以下是 Ada 模式選項:變量 動作 ada_standard_types 高亮 Standard 包里的類型 (例如,F(xiàn)loat)ada_space_errors 高亮空格里的錯誤.ada_no_trail_space_error 但忽略行尾的空格ada_no_tab_space_error 但忽略空格之后的制表ada_withuse_ordinary 把 with 和 use 顯示為普通的關鍵字 (用于引用別的編譯單元時,它們不再特殊高亮)。ada_begin_preproc 使用 C 預處理命令的色彩來顯示所有 begin 風格的關鍵

40、 字。即使在慢速 (90Mhz) PC 上,該模式也很快。但如果你還是覺得速度無法忍受,可以打開ada_withuse_ordinary。ANT *ant.vim* *ant-syntax*ant 語法文件缺省提供了 javascript 和 python 的語法高亮。其他腳本語言的語法高亮可以通過 AntSyntaxScript() 函數(shù)安裝。它接受的第一個參數(shù)是標簽名,而第二個是腳本語法文件名。例如: :call AntSyntaxScript(perl, perl.vim)會為下面的 ant 代碼提供 Perl 的語法高亮 | HYPERLINK /xbzhou/blog/archive

41、s/vimmanual/syntax.html l mysyntaxfile-add mysyntaxfile-add| 說明如何永久的安裝腳本語言。APACHE *apache.vim* *apache-syntax*Apache 語法文件提供的語法高亮取決于 Apache HTTP 服務器的版本,缺省為 1.3.x。設置 apache_version 為 Apache 的相應版本 (字符串形式) 可以得到其它版本的高亮方式。例如: :let apache_version = 2.0 *asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k

42、*ASSEMBLY *asm-syntax* *asmh8300-syntax* *nasm-syntax* *masm-syntax* *asm68k-syntax* *fasm.vim*匹配 *.i 的可以是 Progress 或者匯編文件。如果自動檢測對你不工作,或者你從來不編輯 Progress,在你啟動的 vimrc 里這么用: :let filetype_i = asm把 asm 替換成你實際使用的匯編語言。許多類型的匯編語言都使用相同的文件擴展名。因而,你或者需要自己選擇類型,或者在匯編文件里增加使 Vim 能識別的行。目前,包含了以下的語法文件: asm GNU 匯編 (缺省)

43、 asm68k Motorola 680 x0 匯編 asmh8300 Hitachi H-8300 版本的 GNU 匯編 ia64 Intel Itanium 64 fasm Flat 匯編 () masm Microsoft 匯編 (可能適用于任何 80 x86) nasm Netwide 匯編 tasm Turbo 匯編 (提供到 Penitum 和 MMX 的 80 x86 操作碼) pic PIC 匯編 (目前支持 PIC16F84)最靈活的方式是在你的匯編文件里加上如下一行: :asmsyntax=nasm把 nasm 換成實際的匯編語法的名字。該行必須是文件頭五行中的一行。語法類

44、型可以為某個緩沖區(qū)定制。方法是設置 b:asmsyntax 變量: :let b:asmsyntax=nasm如果沒有設置 b:asmsyntax,不管是自動還是手動,就會使用全局變量 asmsyntax 的值。它可以看作是缺省的匯編語言: :let asmsyntax=nasm如果什么都沒有定義,最后就假定是 asm 語法。Netwide 匯編器 (nasm.vim) 可選高亮特性 要打開特性: :let variable=1|set syntax=nasm要關閉特性: :unlet variable |set syntax=nasm變量 高亮 nasm_loose_syntax 非正式的分

45、析器允許的語法不視為錯誤 (取決于分析器;不推 薦)nasm_ctx_outside_macro 宏之外的上下文不視為錯誤nasm_no_warn 潛在有危險的語法不視為 Todo 那樣的警告ASPPERL 和 ASPVBS *aspperl-syntax* *aspvbs-syntax*.asp 和 *.asa 文件可以是 Perl 或者 Visual Basic 腳本。因為很難檢測,你可以設置兩個全局變量,來告訴 Vim 你要用哪一個。Perl 腳本可用: :let g:filetype_asa = aspperl :let g:filetype_asp = aspperlVisual B

46、asic 可用: :let g:filetype_asa = aspvbs :let g:filetype_asp = aspvbsBASIC *basic.vim* *vb.vim* *basic-syntax* *vb-syntax*Visual Basic 和 普通的 Basic 都使用擴展名 .bas。要檢測使用的是哪一個,Vim在文件的頭五行檢查字符串 VB_Name。如果沒找到,文件類型將是 basic,不然就是vb。帶 .frm 擴展名的文件總被視為 Visual Basic 類型。C *c.vim* *c-syntax*C 高亮的一些設置是可選的。要打開,給相應的變量賦任何值。

47、例如: :let c_comment_strings=1可用 :unlet 關閉。例如: :unlet c_comment_strings變量 高亮 c_gnu GNU gcc 專用的項目c_comment_strings 注釋里的字符串和數(shù)字c_space_errors 行尾的空格和 之前的空格c_no_trail_space_error . 不包括行尾的空格c_no_tab_space_error . 不包括 之前的空格c_no_bracket_error 不高亮 ;如果在 里面視為錯誤c_no_ansi 不使用 ANSI 標準類型和常數(shù)c_ansi_typedefs . 但使用 ANSI

48、 標準類型c_ansi_constants . 但使用 ANSI 標準常數(shù)c_no_utf 不高亮字符串里的 u 和 Uc_syntax_for_h *.h 文件使用 C 語法,而不是 C+ 的c_no_if0 不把 #if 0 塊高亮為注釋c_no_cformat 不高亮字符串里的 %-格式c_no_c99 不高亮 C99 標準的項目如果你注意到往回滾動時,高亮出現(xiàn)問題,但 CTRL-L 重畫又可以修正的話,嘗試設置c_minlines 內部變量為較大的值: :let c_minlines = 100這使得語法同步在第一個顯示行之前的 100 行開始。缺省值為 50 (如果設置了c_no_i

49、f0,則為 15)。使用較大的值的缺點是重畫會變慢。如果使用 #if 0 / #endif 風格的注釋高亮,注意它只適用于 #if 0 出現(xiàn)在窗口頂部往上不超過 c_minlines 行的場合。如果你有很長的 #if 0 構造,它不會被正確地高亮。要匹配注釋里的附加項目,使用 cCommentGroup 簇。例如: :au Syntax c call MyCadd() :function MyCadd() : syn keyword cMyItem contained Ni : syn cluster cCommentGroup add=cMyItem : hi link cMyItem Ti

50、tle :endfunANSI 常數(shù)使用 cConstant 組高亮。這包括 NULL、SIG_IGN 還有其它。但不包括,比如說,TRUE。因為它不在 ANSI 標準里。如果你覺得弄不清楚,刪除 cConstant高亮: :hi link cConstant NONE如果你看到 和 被高亮為錯誤,而實際并非如此的時候,復位 cErrInParen 和cErrInBracket 的高亮。如果想在你的 C 文件里使用折疊,可以在 runtimpath 的 after 目錄下的一個文件里加上這些行。Unix 上,這會是 /.vim/after/syntax/c.vim. syn region my

51、Fold start= end= transparent fold syn sync fromstart set foldmethod=syntaxCHILL *chill.vim* *chill-syntax*Chill 語法高亮和 C 類似??捎玫脑O置見 | HYPERLINK /xbzhou/blog/archives/vimmanual/syntax.html l c.vim c.vim|。此外,還有:chill_syntax_for_h *.h 文件使用 Ch 語法,而不是 C 或 C+chill_space_errors 類似于 c_space_errorschill_commen

52、t_string 類似于 c_comment_stringschill_minlines 類似于 c_minlinesCHANGELOG *changelog.vim* *changelog-syntax*ChangeLog 支持行首的空格高亮。如果你不喜歡,在你的 .vimrc 里加入下行: let g:changelog_spacing_errors = 0下次你編輯 changelog 文件時,就會應用。你也可以使用b:changelog_spacing_errors 來為每個緩沖區(qū)分別設置 (在載入語法文件以前)。你可以改變現(xiàn)在使用的高亮,例如把空格標記為錯誤: :hi link Ch

53、angelogError Error或者避免高亮: :hi link ChangelogError NONE這些會立即生效。COBOL *cobol.vim* *cobol-syntax*COBOL 高亮對傳統(tǒng)的代碼和新開發(fā)的代碼有不同的需要。這來自于需求的差異 (維護還是開發(fā)),以及一些其它因素。要使用傳統(tǒng)代碼的高亮,在 .vimrc 里加上此行: :let cobol_legacy_code = 1要再次關閉,可用: :unlet cobol_legacy_codeCOLD FUSION *coldfusion.vim* *coldfusion-syntax*ColdFusion 有 HT

54、ML 注釋的自己的版本。要打開 ColdFusion 風格的注釋高亮,在你的啟動文件里加上此行: :let html_wrong_comments = 1ColdFusion 語法文件是基于 HTML 的語法文件的。CSH *csh.vim* *csh-syntax*這里討論名為 csh 的外殼。注意 有的系統(tǒng)實際使用的 tcsh.要檢測一個文件是 csh 還是 tcsh 異常困難。有的系統(tǒng)把 /bin/csh 符號鏈接到/bin/tcsh,使得區(qū)別 csh 和 tcsh 幾乎不可能。如果 VIM 猜錯,你可以自己設置filetype_csh 變量。要使用 csh: :let filetype

55、_csh = csh要使用 tcsh: :let filetype_csh = tcsh帶 tcsh 擴展名的腳本或者 tcsh 的標準文件名 (.tcshrc、tcsh.tcshrc、tcsh.login)會使用文件類型 tcsh。其它的 tcsh/csh 腳本也會被識別為 tcsh,_除非_存在filetype_csh 變量。如果存在 filetype_csh 變量,文件類型會設為該變量的值。CYNLIB *cynlib.vim* *cynlib-syntax*Cynlib 文件是使用 Cynlib 類庫的 C+ 文件。它們使用 C+ 來為硬件建模和模擬。通常 Cynlib 文件使用 .c

56、c 或 .cpp 擴展名,這使得它們和普通的 C+ 文件難以區(qū)別。因而,要使用 Cynlib 為 .cc 文件高亮,在你的 .vimrc 文件里加上此行: :let cynlib_cyntax_for_cc=1cpp 文件也類似 (該擴展名通常為 Windows 使用) :let cynlib_cyntax_for_cpp=1要再次關閉,可用: :unlet cynlib_cyntax_for_cc :unlet cynlib_cyntax_for_cppCWEB *cweb.vim* *cweb-syntax*匹配 *.w 的文件可為 Progress 文件或者 cweb 文件。如果自動檢測

57、不行,或者你從來不編輯 Progress,可以在啟動的 vimrc 文件里用: :let filetype_w = cwebDESKTOP *desktop.vim* *desktop-syntax*該語法文件的主要目的是根據(jù) 標準:/Standards/ 來高亮 .desktop 和 .directory 文件。但實際上,幾乎沒人完全實現(xiàn)了標準。所以,它實際被用來高亮所有的 Unix ini 文件。如果你希望強制使用符合標準的嚴格的高亮方式,在 vimrc 文件放上: :let enforce_freedesktop_standard = 1DIRCOLORS *dircolors.vim*

58、 *dircolors-syntax*dircolors 工具的高亮定義有一個選項。它的存在是為了和 Slackware GNU/Linux 發(fā)布版本里的該命令兼容。它增加了一些多數(shù)版本忽略的關鍵字。在 Slackware 系統(tǒng)中,該工具接受這些關鍵字并在處理中應用。要允許使用 Slackware 關鍵字,在你的啟動文件里加入如下一行: let dircolors_is_slackware = 1DOCBOOK *docbk.vim* *docbk-syntax* *docbook*DOCBOOK XML *docbkxml.vim* *docbkxml-syntax*DOCBOOK SGML

59、 *docbksgml.vim* *docbksgml-syntax*有兩種類型的 DocBook 文件: SGML 和 XML。要指定使用那種類型,需要設置b:docbk_type 變量。如果 Vim 能夠識別,它會自動設置該變量。如果 Vim 猜不到,缺省的類型是 XML。你可以手動設置: :let docbk_type = sgml或者: :let docbk_type = xml你需要在載入語法文件前作如此設置,這有點復雜。更簡單的方法是設置文件類型為 docbkxml 或 docbksgml: :set filetype=docbksgml或: :set filetype=docbk

60、xmlDOSBATCH *dosbatch.vim* *dosbatch-syntax*DOS 批處理文件的高亮有一個選項。它和 Windows 2000 的命令解釋器的新擴展有關,可以通過 dosbatch_cmdextversion 變量控制。Windows NT 上,它應該取值為 1,Windows2000 應該為 2。下面這行可以選擇你想要的版本: :let dosbatch_cmdextversion = 1如果沒有定義該變量,缺省設為 2,以支持 Windows 2000 版本。DTD *dtd.vim* *dtd-syntax*DTD 語法高亮缺省是大小寫敏感的。如果不想如此,在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論