2011-04-24 14 views
2

インタラクティブな定期的な検索を使用して、行頭のxスペースを検索したい^SPC<は、可変数のスペースで始まるすべての行を選択します。 Emacsのウィキemacs space regex search

(setq search-whitespace-regexp " ") 

によると、この問題を解決するが、これは動作を反転させる必要があります:私は私の検索で複数のスペースを入力していたときに、それは1つのスペースを選択します。私は以前のemacs(23.2を使用)からこの動作を覚えていません。インタラクティブ検索で1つのスペースを入力するときに1つのスペースを選択し、xスペースに入力するときにxスペースを選択する方法はありますか?

歓声 のJeroen

+0

私はちょうどこれを(emacs 24で)実行しました。無効にするのは簡単だととてもうれしいです。複数のスペースにマッチさせたい場合、私は自分で "*"を使います。これは、私がemacsから欲しい、または必要とするよりも "助けて"いる。 – Chris

答えて

4

あなたが観察した動作は意図したものだと思います。非nilの、正規表現 に空白文字のシーケンスと一致

場合:search-whitespace-regexpのドキュメントから。 [...]インクリメンタル正規表現にスペースまたはスペース を入れると、これは となります。

注二文 - あなたは正規表現で、単一の(または複数の)空白文字(複数可)を入れたときに、あなたがsearch-whitespace-regexpの値を入力するかのように解釈されます。その変数を1つの空白文字に定義したので、正規表現内の1つまたは複数の空白文字は、バッファ内の1つの空白文字にのみ一致します。

あなたが望むものを達成する最も簡単な方法は、単に変数をnilに設定することです。この場合、スペース文字は対話型正規表現検索で特殊な方法で処理されなくなります。正規表現内の単一の空白文字は、バッファ内の1つの空白文字にのみ一致します。

(setq search-whitespace-regexp nil) 
+0

@トーマス:私はこれを正確に試みましたが、正規表現のインクリメンタル検索は(一見)前と同じでした。何か不足していますか? – phimuemue

+0

@phimuemue、私は知らない - 私もそれを試して、それは私のために動作します。 – Thomas

+0

@phimuemueしかし、私はEmacs 23.1.1を使用しています。ジェリーは、23.2の新しい行動を観察していると書いている。 – Thomas

1

あなたは<続く5つの空白で始まる行を取得するには^[ ]\{5\}<を試みることができます。