152

如何使用 Emacs 创建一个新目录?我使用什么命令?(如果可能,请举个例子)

4

6 回答 6

209
  • 要创建目录dir/to/create,请键入:

    M-x make-directory RET dir/to/create RET
    
  • 创建目录,dir/parent1/node然后dir/parent2/node键入:

    M-! mkdir -p dir/parent{1,2}/node RET
    

    它假定 Emacs 的劣质 shell 是bash/zsh或其他兼容的 shell。

  • 或在某种Dired模式下

    +
    

    它不会创建不存在的父目录。

    例子:

    C-x d *.py RET ; shows python source files in the CWD in `Dired` mode
    + test RET     ; create `test` directory in the CWD
    

    CWD代表当前工作目录。

  • 或者只是使用不存在的父目录创建一个新文件,C-x C-f然后键入:

    M-x make-directory RET RET
    

Emacs 要求在最近的 Emacs 版本中保存新文件时自动创建父目录。对于旧版本,请参阅如何使 Emacs 创建中间目录 - 保存文件时?

于 2008-09-30T23:04:19.807 回答
48

Ctrl+ X D( C-x d) 以“dired”模式打开一个目录,然后+创建一个目录。

于 2008-09-30T23:05:46.450 回答
9

您还可以使用运行单个 shell 命令M-!

您基本上是在向命令行发送一个字符串,因此您不会获得任何好的自动完成功能,但如果您知道如何通过命令行执行操作但不知道 Emacs 等效方式,它会很有用。

M-! mkdir /path/to/new_dir
于 2008-09-30T23:46:46.100 回答
6

我想我今天早些时候做得很艰难。我做了:

M-x shell-command

然后

mkdir -p topdir/subdir
于 2011-08-27T20:07:02.800 回答
5

您可以M-x make-directory在任何缓冲区内使用,不一定是 dired 缓冲区。它是一个您也可以使用的 lisp 函数。

于 2008-10-01T02:30:55.893 回答
2

我在搜索如何在 Emacs 中自动创建目录时遇到了这个问题。我找到的最佳答案是在几年后的另一个帖子中。Victor Deryagin的答案正是我想要的。将该代码添加到您的 .emacs 将使 Emacs 在您保存文件时提示您创建目录。

于 2013-01-01T21:22:37.397 回答