Helm:バッファ機能内を検索しますか?


11

かなり基本的なHelmの質問。regexp任意のタイプのバッファ(つまり、などの読み取り専用を含む)内でテキストを(できればを使用して)検索できるHelmウィンドウ/コマンド/機能は何w3mですか?

言い換えると、isearch-forwardC-s)/ isearch-backwardC-r)に対するHelmのEmacsのネイティブコマンドに相当するものを探しています。

説明:ネイティブisearchコマンド(C-sまたはC-r)のいずれかを呼び出した後、次の2つの方法のいずれかで検索モードを終了できます。

  1. 終了して元のポイントに戻ることができます(を介してC-g)、または

  2. 現在のポイントから、つまり現在一致しているテキストから(RETとりわけ)バッファを終了してブラウジングを続行できます。

私はこれらの2つのオプションの2番目を探しています。


これが私がこれまでに試したことです:

  • helm-regexp:これは私が探しているものに最も近いものですが、C-s/ C-r+ と同等の機能しか実行しませんC-g(つまり、元のポイントに戻ります。検索を終了し、現在一致しているものからバッファを参照し続けるオプションはありません。ポイント)。

  • helm-do-grep:これはファイル内のテキストを検索するためだけのようです(つまり、w3mでは機能しません)。

  • helm-buffer-run-grep/ -zgrep:このコマンド/関数を実行すると、ミニバッファーにエラーメッセージが表示されます。Running helm command outside of context

  • ときhelm-mode呼び出し、有効になっているC-sか、C-rEmacsのネイティブ立ち上げるisearch機能(それはヘルムズインターフェイスによって置き換えられません)。(おそらく、Helmがこのコマンドを引き継ぐために変更できる設定があるのでしょうか?つまり、Helmがwrite-fileC-x C-w)のネイティブコマンドを引き継ぐ方法に似ています。これは、開いているバッファー内のファイルの名前を変更するために使用できます。ブレインストーミングだけです。)


1
あなたは望んhelm-occurfollow-mode有効。
nispio 2014年

回答:


16

このための基本的なhelmモジュールに付属するツールとしてhelm-occurを使用できます。しかし、私にとって、バッファ検索に最適なヘルムベースのツールの1つは、福山慎吾のヘルムスウィープです。githubとMELPAから入手できます。マッチの位置にポイントをドロップできるようにするために必要な機能があります(正規表現の場合もあります)。ただし、Cgを使用して、カーソルを開始した位置に戻すこともできます。

helm-swoop githubページには、このパッケージが提供するその他の便利な機能が多数あります(helm-multi-swoopによるマルチバッファー検索や結果の行を編集する機能など)。基礎となるバッファに適用されます)。


同意する。helm-swoopはの改良版ですhelm-occur
Tu Do

それで、私はこの前線に少し遅れています。私が試したhelm-swoop...そして二度と戻らない!ありがとう
アイスマン2014年

いい主よ、舵取りはこの世のものではありません。
レオUfimtsev 2015

5

を使用helm-occurして、検索パターンの一致を含むすべての行を表示できます。とを使用C-nC-pてリストをナビゲートし、次にを押しRETてHelmバッファーを閉じ、カーソルを一致する行にジャンプできます。

helm-follow-mode使用時に有効にしhelm-occurて、ソースウィンドウに現在選択されている一致のコンテキストが常に表示されるようにします。次のように、フォローモードを自動的に有効にすることができます。

(require 'helm-config)

(defvar my-helm-follow-sources ()
  "List of sources for which helm-follow-mode should be enabled")

;; Use helm-follow-mode for the following sources:
(add-to-list 'my-helm-follow-sources 'helm-source-occur)

(defun my-helm-set-follow ()
  "Enable helm-follow-mode for the sources specified in the list
variable `my-helm-follow-sources'. This function is meant to
be run during `helm-initialize' and should be added to the hook
`helm-before-initialize-hook'."
  (mapc (lambda (source)
          (when (memq source my-helm-follow-sources)
            (helm-attrset 'follow 1 (symbol-value source))))
        helm-sources))

;; Add hook to enable helm-follow mode for specified helm 
(add-hook 'helm-before-initialize-hook 'my-helm-set-follow)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.