2009-03-27 13 views
1

私はVimを使ってマニュアルページを読む。しかし、私は変数の検索に問題があります。たとえば、私は「-s」を検索するのに、vim検索の中で '-s'を見つける方法

/\<-s\> 

を使用しますが、何も見つかりません。 Grrr。私はファイルでそれを見る。私は間違って何をしていますか?

答えて

8

\<は単語の先頭に一致し、-は通常は単語文字とはみなされません。 :set iskeyword?を実行して、どの文字が単語文字とみなされているかを確認します。

はこれを試してみてください:

:set iskeyword+=- 
/\<-s\> 

は、動作するはずです。 :h /\<および:h 'iskeyword'を参照してください。

+1

Brianは、emacs対vimの議論に対する答えを提供すべき唯一の人です。 – ojblass

2

/-sはうまく動作します。

+0

問題は、私はそれの単語区切りたいです。そこにはたくさんの-s文字列があります。 – Leonard

+0

":set hi"と "nnnnnnnnn ..."はお友達です。私は真剣に、あなたは何人の " - s"を見に行くのですか? 100人? –

+0

2番目の考えでは...あなたが投稿した正規表現がなぜ機能しなかったのかを知ることは素晴らしいことです。ブライアンに感謝します。 –

0

マニュアルページで-sの機能について説明していますか? ^\s*-s\>を使用して、行の先頭、任意の空白、およびフラグを検索します。

iskeywordを変更しない場合は、区切り文字に異なる正規表現を試すことができます。 \s-s\>を使用できますが、 "-s"(引用符で囲まれた部分)は見つかりません。

も参照してください:help pattern-overview

関連する問題