9

Resharper の「Go To File」機能のようなものを Emacs に実装したいと考えています。上記のショートカットを押すと、Resharper はワイルドカード文字列を受け入れるテキスト ボックスをポップし、そのワイルドカードに一致するプロジェクト内のすべてのファイルを一覧表示するオートコンプリート メニューを表示します。


(ソース: jetbrains.com )

今のところ、私は多かれ少なかれ同等のものを達成するための大まかな方法​​を知っています。これには、実行dired-lR呼び出しが含まれます。これdired-isearch-filenamesにより、特定のルートディレクトリ内のファイルの階層全体でインクリメンタル検索が開始されます。

更新。また、バッファのロードを開き、それらをすべてメモリに保持し、switch-to-buffer. このソリューションは でうまく機能しidoますが、100% 防弾ではありません (一部のファイルが追加または削除された場合はどうなりますか?)。またtabbar、タブにはプロジェクトに含まれるすべてのファイルが表示されますが、現在のコンテキストを表すプロジェクトのサブセットは表示されないため、 ではうまく機能しません。

ただし、これには多くの不要な情報が表示され、オートコンプリートが欠けています。と を調べましたが、現在のディレクトリ内でのみ、浅く動作しているようですidoicicles目標を達成するのに役立つ Emacs プラグインはありますか?

4

4 に答える 4

5

多くのバッファを開いたままにしたくない場合もありますが、recentf最近開いたファイルを追跡する にIDO をフックできます。

(recentf-mode 1)
(setq recentf-max-saved-items 300)

(defun ido-choose-from-recentf ()
  "Use ido to select a recently opened file from the `recentf-list'"
  (interactive)
  (find-file (ido-completing-read "Open file: " recentf-list nil t)))

(global-set-key [(meta f11)] 'ido-choose-from-recentf)

私はこのトリックを何年も使用してきましたが、必要なすべてのファイル切り替えの 99% はこれで済みました。

さらに、私は を使用してM-x rgrepいます。M-x find-diredM-x find-grep-dired

その他のオプションについては、この同様の質問への回答をご覧ください。

于 2011-08-09T12:04:03.003 に答える
4

Projectileにはprojectile-jump-to-project-fileという名前の関数があり、多かれ少なかれ必要なことを行います。find-file-in-projectもあります。これはより単純なユーティリティですが、GNU find の存在に依存します。

于 2011-08-09T20:25:16.047 に答える
4

ヘルムはもう試しましたか?ファイル、バッファ、コマンド、その他多くのものを簡単に検索できます。

于 2011-08-09T17:40:21.623 に答える
2

つららについて言及されましたが、「浅く機能する」と誤解されていました。好きなように動作します。必要に応じて、ファイル名とパスの任意の部分に一致する、システム上の任意のファイルを検索できます。また、特定のファイルやディレクトリのプロジェクトを定義し、その定義を保存して、後でそれらのファイル/ディレクトリのみを検索できます。(Emacs ファイルセットはこの機能の厳密なサブセットですが、ファイルセットを同じ方法で直接使用できます。)

これは役に立ちます(そのページの最後にあるリンクも参照してください):

http://www.emacswiki.org/emacs/Icicles_-_File-Name_Input

于 2011-08-19T18:20:19.510 に答える