2013-07-20 60 views
0

我是一個Lua開發者。我的開發環境是SSH到中央服務器並使用VIM。如何將lua操作符添加到vim語法文件中?

Vim的附帶以下的Lua syntax file.

我注意到的是語法文件不包括Relational Operators(例如:=,>等),而不是把關係運算符作爲普通文本語法(顏色)。

我嘗試添加下面我.vim/after/syntax/lua.vim但它沒有工作

syn keyword luaOperator < > <= >= == ~= 

任何想法,我怎樣才能使關係運算符在Lua語法不同的顏色?

+0

順便說一句:你鏈接的語法文件是古老的。您可能想從Vim的源代碼控制中獲取最新版本。 (雖然運營商仍然沒有突出顯示。) – glts

+0

@glts,所以如果當前的語法文件沒有定義運算符 - 那麼你還有什麼想法? – nickb

回答

0

已解決。

通過閱讀this article,我想通了,如何讓VIM的語法突出以下的Lua運營商:<><=>===~==

把你.vim/after/syntax/lua.vim文件中的以下

syntax match potionOperator "<" 
syntax match potionOperator ">" 
syntax match potionOperator "<=" 
syntax match potionOperator ">=" 
syntax match potionOperator "==" 
syntax match potionOperator "\v\~\=" 
syntax match potionOperator "=" 
highlight link potionOperator Operator 

然後設置操作任何你想要的顏色,在你的.vimrc文件放:

hi potionOperator ctermfg=COLOR 

其中COLOR是任何你想要的顏色(例如黃色,紅色等)

+0

如果你刪除所有'\ v'(':h magic') – FDinoff

+0

@FDinoff,你可以刪除所有的斜線,你能否更詳細地解釋你的評論。我沒有按照你的意思。如果您有一個更簡單的解決方案,請將其作爲答案,我會將您的答案標記爲已接受的答案。 – nickb

+0

它不是很簡單,但你可以把'syntax match potionOperator'\ v \ <「'改成'syntax match potionOperator」<「'。 '\ v'打開非常魔術的正則表達式,除了'0-9,A-Z,a-z,_'之外的所有字符都有特殊含義,這就是爲什麼你必須在匹配語句中轉義<<的原因。這消除了大量的斜槓並使其看起來更好。你唯一需要逃避的角色是'〜'。此外,第三次和第四次比賽陳述不會做你認爲他們做的事,因爲逃跑沒有做好。它工作的唯一原因是因爲'<'和'='在兩個不同的規則中分別匹配。 – FDinoff

相關問題