私はM-x find
Emacsでコマンドを探しています。これM-x grep
は、コマンドを変更することができ、見つかったファイルへのリンクを含む出力を適切に出力します...)、実行find . -iname '*|*'
します(カーソルを垂直バーに配置して--検索パターンの挿入 -- 実装が複雑すぎない場合)。誰かがこれを以前に実装しましたか? 【承知しておりM-x find-grep
ます】
3 に答える
それはあなたが望むほとんどのことから始めましょうM-xfind-dired
: ミニバッファからディレクトリを読み込み、デフォルトで現在のディレクトリに設定し、それから他のfind
引数を読み込みます。結果はモードで開かれ、それが得られるのと同じくらいうまくいくと思います(それが冗長すぎるdired
と思う場合は、 MELPAでパッケージを確認してください)。dired
dired-details
dired-details+
-iname **
次に、オプションを求めているときに、星の間にカーソルを置いて開始しましょう。find-dired
ソースを見ると、 の値が への初期入力引数として使用さfind-args
れていることがわかりますread-string
。この引数は時代遅れで非推奨ですが、非常に便利です。その機能の 1 つは (read-from-minibuffer
説明で読んだように)、文字列と整数のコンスが与えられたときに、デフォルトのポイント位置を提供することです。
(defun marius/find-dired ()
(interactive)
(let ((find-args '("-iname '**'" . 10)))
(call-interactively 'find-dired)))
'**'
引数はシェル展開の影響を受けるため、アスタリスクを単一引用符で囲みました。
ミニバッファーから独自の引数を読み取る代わりにfind-args
、残りのすべてを再バインドしてデリゲートしfind-dired
ます。通常
find-dired
、最後に入力した引数が記憶されfind-args
ているため、それらが新しいデフォルトになります。で再バインドすると、への呼び出しlet
からのこの変更が確実に破棄されるため、 regularは最新の
regularに指定された引数を使用します。regular を使用しなくても問題ないでしょう。ラッパーに与えられた find 引数を regularで使用する場合は、代わりに次の定義を使用します。find-dired
find-dired
find-dired
find-dired
find-dired
(defun marius/find-dired ()
(interactive)
(setq find-args '("-iname '**'" . 10))
(call-interactively 'find-dired))
それはあなたの要件を満たしていると思いfind-dired
ます(コマンドを「-iname」で初期化せず、入力できることを除いて)。
例えば:
- M-x
find-dired
RET (実行find-dired
) - C-j (デフォルトのディレクトリを受け入れます:
.
) -iname "*.foo"
RET (コマンドライン引数を入力)
結果はdired
バッファに表示されます。