当我在Emacs中创建一个文件时,我无法打开该目录

时间:2012-02-03 02:33:54

标签: emacs

我使用C-x C-f和C -X C-s将文件保存到目录“test”,然后我无法用“tab”打开测试目录,它说“Dired(directory):〜/测试.....“。

我想知道在emacs中创建文件的错误和正确方法,谢谢!

1 个答案:

答案 0 :(得分:3)

Emacs区分文件缓冲区。您在缓冲区中进行所有编辑,这些缓冲区不一定必须与文件相关联(例如,参见*scratch*缓冲区)。但是,您经常要编辑与文件关联的缓冲区。在这种情况下,你访问(Emacs lingo for“open”)说文件用 C-x C-f

假设您的主目录中有一个目录“test”,并且在该目录中有一个文件“foo.txt”。如果要编辑该文件的内容,请键入以下命令访问该文件:

C-x C-f~ / test / foo.txt RET

这很容易:现在你在Emacs中得到一个新缓冲区,它以你正在访问的文件(“foo.txt”)方便地命名。如果要将在缓冲区中所做的更改存储回关联文件,则键入 Cx Cs ,Emacs会将缓冲区的内容写入文件“〜/ test / foo”。 TXT”。

此机制也适用于开始编辑时不存在的文件!

如果您输入,请

C-x C-f~ / test / bar.txt RET

您在目录“〜/ test”中获得与(但不存在的)文件“bar.txt”相关联的缓冲区。同样,您可以根据自己的喜好编辑该缓冲区,然后使用 C-x C-s 保存缓冲区。第一次这样做时,会创建一个新文件。

如果要创建与任何文件无关的名为“baz”的缓冲区,请键入

C-x b baz RET

由于它尚未与文件关联,因此在该缓冲区中键入 C-x C-s 将提示您指定文件名。保存后,缓冲区将与您指定的文件相关联。

最后,如果你在一个与文件相关联的缓冲区中,但是你想将它保存到另一个文件中,你可以用 Cx Cw 来实现,这样就可以了与前一种情况相同的提示。同样,在使用您提供的文件保存后,缓冲区将被关联。


选项卡完成功能适用于要求您输入文件名的所有命令。如果您认为不存在,则可能是因为您认为应该完成的文件不存在(还要注意文件名中的大小写区别),或者因为具有相同前缀的另一个文件禁止进一步消除歧义。点击 TAB 两次应列出临时缓冲区中的可用完成次数,让您在完成之前继续指定路径名。


Dired模式与上述所有内容完全正交。它是“编辑”目录的模式,即进行文件系统操作。你可以输入 C-x d 来调用它,你可能会意外输入?!它非常强大,但也非常复杂。请参阅here了解其文档。