(TIL)学到一招,在 Emacs 不用复制文件路径直接跳转

比如说,如下这个 Warning 信息,里面已经附上了一个文件的路径:

:no_entry: Warning (files): Missing ‘lexical-binding’ cookie in “~/Documents/emacs/package/new-org-supertag/org-supertag/org-supertag-domain.el”. You can add one with ‘M-x elisp-enable-lexical-binding RET’. See ‘(elisp)Selecting Lisp Dialect’ and ‘(elisp)Converting to Lexical Binding’ for more information.

如果在以前,我就是直接复制文件路径,然后 C-x C-f,但很不方便。因为 find-file 提供的路径里,已经包含了开头的 ~/,此时如果复制粘贴,需要自己手动把路径开头的 ~/ 删掉。

然后我问了一下 AI,原来 Emacs 里内置了一个名为 ffap 的 mode,它是 find-file-at-point 的简称。可以直接检测光标所在位置是否文件路径,从而直接打开。

我敢说,ffap 将 emacs 的体验再一次提升了一截。

2 个赞

值得一提的是 vim 有一个按键 gf 就是这个用处,evil 默认将 ffap 绑定到了 gf。

1 个赞

如果用 embark 的话,可以直接用 embark-dwim 跳转到光标下的文件。

1 个赞

习惯性 gf,头回知道后边是这个 mode

我也是用的 embark-dwim, 邦定了 M-. 进行跳转。非常好用

我把 embark-dwim 绑定到了 C-<mouse-1>.

不用删掉,直接在后面输入~/another/path就能访问。

1 个赞

你把包含 at-point 的那些命令再过一遍,估计还会惊呼。

直接复制的时候,发现这个识别机制是无效的。

1 个赞

我觉得你说得很有道理

顺带推荐一下我觉得不错的edit-at-point这个包。

3 个赞

我绑定到ctrl+左键上了(

如果把自带的 dired-x-find-file 绑定 C-x C-f 的话,C-u C-x C-f 就可以了

我总觉得 C-u 很难按…

这个包,看着不错

我装了 Hyperbole,按 M-RET 就打开了。

你的 hyperbole 的使用体验如何呢?我一直以来都没搞明白

简单的来说在这个情境下、hyperbole会把这个路径当作一个implicit button;用M-RET按下这个指向该路径的按钮。

1 个赞

同样没有搞明白,之前捣鼓Org了半天觉得不是很适合我的思维习惯,于是找了下Emacs的其他可以做个人wiki的东西。但是打开hyperbole后只觉得手足无措,感觉我的Emacs把我变成一只企鹅扔在了西伯利亚

我把常用的工作流程,文件,包括在追的动画漫画更新检查都用 Hyperbole 的 button 实现了,要开始干什么按对应的 button 就行了。