2010-09-29 87 views
11

打开一个txt文件的最简单方法是使用shell find命令找到其路径的最简单方法是什么?Emacs:打开位置未知的文件的最快捷方式

例如,让说我要开,我知道是一个文件(唯一)命名example.txt中和我所知道的是“什么地方我能找到使用shell 找到命令它”。

我目前做的是这样的:

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

我再进入找到,例如:

find . -iname "example.txt" 

然后完整路径(这是我以前不知道)出现在缓冲区,我砍它,然后我打到Cx Cf,我删除了默认写的内容,然后粘贴之前剪下的内容。

这似乎有点长,需要相当多的按键,cut'n'pasting等

有没有做相同的(而不需要编写一个新的自定义的Emacs命令)的最简单的方法?

回答

10

仅使用内置的功能,我想:

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

我用find-file-at-point往往不够,我把它绑定到一个专用键,S- \(超级反斜杠)。

+0

不适用于我。只是给我当前的目录我在壳... – Mordechai 2017-01-25 21:12:44

6

试用ifind.el

M-x ifind /some/starting/point/example.txt 

将在目录中搜索以下example.txt/some/starting/point

+0

你又来了! :) 优秀。 – SyntaxT3rr0r 2010-09-29 15:48:04

10
M-x find-name-dired 

输入目录(默认为电流)和文件名(壳水珠工作太),你会得到的结果虚拟dired缓冲。转到您想要的文件并点击'a'

1

如果您的文件夹构成“项目” - 某个版本控制下的文件或具有根文件夹标记(如project.el,.dir-locals.el等)的文件可以使用find-file-in-project,在我看来这是解决这个问题的绝佳方案。

0

M-Xfind-diredRET

,那么你必须显示通过查找返回您的文件dired缓冲。您可以使用classic dired命令打开/移动/重命名...文件和目录。

2

M-x locate是查找和打开文件的最快方式,如果你知道确切的文件名,在emacs中。

+0

不知道那一个,谢谢! – 2015-02-13 05:17:04

0

我很惊讶,globalff没有提到作为可行的选择之一。当然,它需要定位命令,但是当你不记得确切的名字时,它很快且很实用。

1

冰柱你可以通过匹配不仅相关的文件名,但路径的任何部分匹配。您可以使用子字符串,正则表达式和模糊匹配。你可以和多个搜索模式一起(渐进式完成)。参见多命令icicle-locate-file

http://www.emacswiki.org/emacs/Icicles_-_File-Name_Input

相关问题