web-dev-qa-db-ja.com

emacsでファイルパスを完成させるにはどうすればよいですか?

たとえば、設定ファイルを編集していて、パスを入力したいとします。そのバッファにファイルパスを完成させるemacsのプラグインはありますか?私はこれを検索しました、そしてそこに何億もの完了プラグインのようなものがあります。

14
Jason Baker

Hippie Expand を試してください。これは、その可能性の1つとして 'try-complete-file-name。ヒッピーエキスパンドがファイル名のエキスパンドを優先するために使用するエキスパンド関数の順序とリストを変更できます。

または、ファイル名の展開のみを行うカスタムラッパーを作成することもできます。何かのようなもの:

(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
  "Use hippie-expand to expand the filename"
  (interactive)
  (let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
    (call-interactively 'hippie-expand)))
11
Trey Jackson

私は通常タイプします Ctrl-XCtrl-F ファイルを開くように、しかし押す代わりに RET 押す Ctrl-ACtrl-KCtrl-G パスをコピーして、編集していたバッファに貼り付けます Ctrl-Y

これはそれほど頻繁には必要ありませんが、もっと良いソリューションが本当に必要な場合は、hippie-expandを使用したTreyJacksonのソリューションを使用します。 hippie-expandが最初に答えるときにこれを行うためのより良い方法であるかもしれないと思いましたが、私はそれを知るのが面倒で怠惰だったので、何を書いたのですか[〜#〜] i [〜#〜]します。

15
Teddy

バニラ、すぐに使える

M-x comint-dynamic-complete-filename

comintモードの外で動作します。もちろん、ミニバッファーの動的拡張を使用して、それに到達するために使用するキーストロークを減らすことができます(例:M-x コミnt-dyナミック-c完全-filename)。または、頻繁に使用する場合は、global-set-keyを使用して選択したキーシーケンスにバインドできます。

6
Ron Kaminsky

company-filescompany-backends(私のインストールではデフォルト)のリストにある場合は company autocompletion を使用して、またはcompany-filesを明示的に呼び出すことでこれを行うこともできます。 。

2
fikovnik

最近、松山知宏(@ m2ym)の作品を発見し、emacsパッケージの品質にとても感銘を受けました。

私はほとんどのオートコンプリート拡張機能に苦労してきましたが、それらすべてに大きな欠点があることがわかりました。

Tomoのオートコンプリートをチェックしてください( http://auto-complete.org/doc/manual.html )インストールは簡単で(私はLinuxを使用しています)、多くのオートコンプリートをカバーしていますモダンの方法で必要です。

もちろん、バッファ内のファイル名の補完要求は完全にカバーされています。

最後に、もしあなたがたまたまRubyもするなら、彼の RSense 拡張を見逃さないように気をつけてください;繰り返しますが、その種の最高のものです。

0
Arnaud Meuret