組織モードでisearchが折りたたまれたコンテンツをスキップするようにする


9

Q:バッファーisearch内のデフォルトで折りたたまれたブロックの内容を無視するようにするにはどうすればよいorg-modeですか?

より具体的には、コメントブロック引き出しのisearch内容を無視したいと思います。ドキュメントを作成するとき、コメントブロックとカスタム引き出しを使用して、書いているテキストに関するさまざまな種類のメモを保存します。内容が邪魔にならないように、デフォルトで折りたたんでいます。org-mode

(add-hook 'org-mode-hook #'org-hide-block-all)

これは非常にうまく機能しますが、org-mode私が使用している文字列に一致するものが含まれている場合でも、これらのブロックの展開を停止しませんisearch

回答:


11

あなたは、設定することができますsearch-invisiblenil、あなたの中.emacsやカスタマイズを使用しました。次に、一致を非表示のテキストで表示する場合、を押しM-s iながらを押しますisearch

(これはisearch-forwardとのドキュメントを読んで見つかりましたisearch-toggle-invisibleが、マニュアルにも記載されています:Special Isearchを参照してください。)

これは、Orgだけでなく、すべてのバッファーに影響ます。バッファーで使用nilしたい場合はorg-mode、デフォルトで他の場所でOrgバッファーにバッファーローカルバインディングを作成できます。

(add-hook 'org-mode-hook
          (lambda ()
            (make-local-variable 'search-invisible)
            (setq search-invisible nil)))

1
バッファローカルな値は、letバインディングのアドバイスよりもはるかに実用的です。:-)
マラバルバ2014年

@Malabarba:本当にそうです!(make-local-variableすでにグローバルとして定義されている変数のバッファーローカルバインディングを作成するために使用できることを知りませんでした-今までは、それはまだです。私はまだ学習しています。:-))更新します回答。
コンスタンティン

7

を使用しているisearchときに、で非表示のテキストの検索を切り替えることができますM-s i

この動作をカスタマイズしてM-x customize-group isearch、を検索することもできSearch Invisibleます。

これは折りたたまれたブロックのすべてを無視することに注意してください。コメント付きブロックのテキストだけを無視することはできません。


私たち二人は同時にタイプしているに違いありません!:-)
コンスタンティン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.