在Emacs转到文件
vi“gf”命令在emacs中有替代吗? 意思就是试着打开光标下面的文件,如果真的有文件名的话。
谢谢
你需要find-file-at-point
函数(这也是ffap
别名)。 它没有默认绑定到一个键,但你可以使用
Mx ffap
或者,你可以把你的.emacs
文件:
(ffap-bindings)
这将取代许多正常的find-file
键绑定(如Cx Cf
)与基于ffap
的版本。 有关详细信息,请参见ffap.el
的注释。
谢谢,它工作得很好,但不知何故,六(GF)版本仍然有点更聪明。 我认为它查找searchpath的一些pathvariables。
我做了一些不必要的复杂的东西,但为我工作(只在Linux中)。 它使用“locate”命令来search光标下的path。 我想通过首先search当前文件的相对path可以使它变得更聪明。 对于我不好的elisp技能感到抱歉…可能会以更好的方式实现。
放入你的.emacs,然后用Mx 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" )) ))