Emacs:打开位置未知的文件的最快方法

Syn*_*r0r 11 emacs

打开一个txt文件的最简单方法是什么,该文件的路径必须使用shell find命令找到?

例如,假设我想打开一个我知道(唯一)命名为example.txt的文件,我知道它是"我可以使用shell find命令找到它的地方".

我现在做的是这样的:

我做Cu(通用参数)然后M-!(shell命令)

然后我输入查找,例如:

find . -iname "example.txt"
Run Code Online (Sandbox Code Playgroud)

然后完整路径(我之前不知道)出现在缓冲区中,我剪切它,然后我点击Cx Cf,我删除默认写入的内容然后粘贴我之前剪切的内容.

这似乎有点长,需要很多按键,cut'n'pasting等.

有没有最简单的方法来做同样的事情(没有编写新的自定义Emacs命令)?

Sea*_*ean 10

仅使用内置功能,我会:

  • 转到shell缓冲区: M-x shell
  • 运行我的find命令.
  • 向上移动光标,使其位于找到的文件路径的顶部.
  • 运行find-file-at-point命令:M-x ffap.

find-file-at-point经常使用它,它绑定到一个专用键,s-\(超级反斜杠).


sco*_*zer 10

M-x find-name-dired
Run Code Online (Sandbox Code Playgroud)

输入dir(默认为current)和filename(shell globs也可以),你会得到一个带有结果的虚拟dired缓冲区.去你想要的文件并点击' a'


Tre*_*son 6

试试ifind.el

M-x ifind /some/starting/point/example.txt
Run Code Online (Sandbox Code Playgroud)

example.txt在下面的目录中搜索/some/starting/point.