在emacs中是否有替代vi“gf”命令? 意思是尝试立即打开光标下的文件 如果真的存在真正的文件名。
由于
答案 0 :(得分:70)
您想要find-file-at-point
函数(也是ffap
的别名)。默认情况下,它不受键的约束,但您可以使用
M-x ffap
或者,您可以输入.emacs
文件:
(ffap-bindings)
这将替换许多正常的find-file
键绑定(如C-x C-f
)和基于ffap
的版本。有关详细信息,请参阅ffap.el
中的评论。
答案 1 :(得分:6)
谢谢,它运作得很好,但不知何故vi(gf)版本是 仍然有点聪明。我认为它会查看搜索路径的某个路径变量。
我做了一些不必要的复杂但对我有用的东西(仅限linux)。 它使用“locate”命令搜索光标下的路径。 我想通过首先搜索当前文件的相对路径可以使它变得更聪明。 对不起我糟糕的elisp技能......它可能以更好的方式实现。
输入.emacs,然后使用M-x goto-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" )) ))