2014-02-05 142 views
1

開頭在vim中我想搜索一個不以$開頭的單詞「var」。

我想這一點,但它只是匹配「$ VAR」我想只匹配「變種」,如果它不以$開頭的「VAR」:

/\$\@!\(\var\) 

我想我需要做一些事情,如果$不是立即在單詞「var」的左邊,因爲單詞邊界不包含$ right?

回答

3

這你想要做什麼

/[^$]\zsvar 

如果你愛負向後看:

/\$\@<!var 

:h \zs 
:h \@<! 

會給你詳細的解釋。

+0

酷!什麼是[^ $] \ zs正在做什麼? – red888

2

@肯特的答案中的兩個解決方案是不等價的。試戴此示例文本:

var 
$var 
foo var 
foo $var 

我建議使用@肯特的第二個解決方案,雖然你不需要逃避$

/$\@<!var 

@Kent已經給了你一個鏈接來回答一半你的後續問題(在評論中)。對於另一半,請閱讀

:help /[]