Emacsにvi "gf"コマンドの代わりはありますか?つまり、実際のファイル名が実際に存在する場合は、カーソルの下にあるファイルを開こうとします。
ありがとう
find-file-at-point
関数(これはffap
にもエイリアスされます)が必要です。デフォルトではキーにバインドされていませんが、使用できます
M-x ffap
または、.emacs
ファイルに入れることができます。
(ffap-bindings)
これにより、通常のfind-file
キーバインディング(C-x C-f
など)の多くがffap
ベースのバージョンに置き換えられます。詳細については、ffap.el
の解説を参照してください。
おかげで、それは非常にうまく機能しますが、どういうわけかvi(gf)バージョンはまだいくらか賢いです。検索パスのパス変数を調べていると思います。
私は不必要に複雑であるが私のために働く何かを作りました(Linuxでのみ)。 「locate」コマンドを使用して、カーソルの下のパスを検索します。最初に現在のファイルへの相対パスを検索することで、よりスマートにできると思います。私の悪いelispスキルをお詫びします...それはおそらくもっと良い方法で達成することができます。
.emacsを入れて、M-xgoto-fileで使用します
(defun Shell-command-to-string (command)
"Execute Shell command COMMAND and return its output as a string."
(with-output-to-string
(with-current-buffer standard-output
(call-process Shell-file-name nil t nil Shell-command-switch command))))
(defun goto-file ()
"open file under cursor"
(interactive)
(find-file (Shell-command-to-string (concat "locate " (current-Word) "|head -c -1" )) ))