vim syntax 及 modeline

[華語, cmn-Hant-TW]

vim 只要設定好的話,只要他認識的檔案都會用正確的語法上色,不過其實也不是每次都會判斷正確,或者有些檔案就是沒辦法直接判斷,要告訴 vim 內容是啥他才會動,這時候可以用 :set syn=syntax 指定語法,不過每次開檔案都要設定一次會覺得有點煩,還好有 modeline 可以幫忙解決問題。

預設情況下 modeline 是開啟的可以直接使用,使用方式也很簡單,例如想用 tcsh 語法上色,就直接在要編輯檔案開頭加上這條敘述即可。

 /* vi:set syn=tcsh: */

用 C 的註解語法包起來 (shell script 可能要在前面加 #), 兩個冒號之間就是要下的指令。除了 syn 外,有需要特調 ts(tabstop), sts(softtabstop), sw(shiftwidth) 之類的都可以一起加在裡面,以後每次開這個檔案就會套用這個設定,當不同計畫案的 coding style 規範不同的時候就很好用。

 /* vi:set syn=tcsh ts=8 sts=2 sw=2: */

要注意在 7.0 某版之後因為安全問題 root 使用者會無視這行,這種用法只對一般使用者有效。詳細設定可參考官方網站的 Vim 文件

Leave a Reply

Your email address will not be published. Required fields are marked *