如何在Emacs中创建目录?

时间:2008-09-30 23:03:33

标签: emacs directory command

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

6 个答案:

答案 0 :(得分:183)

  • 创建目录dir/to/create,输入:

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

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

    它假设Emacs的劣质外壳是bash / zsh或其他兼容外壳。

  • 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版本中保存新文件时自动创建父目录。对于旧版本,请参阅How to make Emacs create intermediate dirs - when saving a file?

答案 1 :(得分:38)

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

答案 2 :(得分:7)

您还可以使用M-!

运行单个shell命令

你基本上是在命令行发送一个字符串,所以你没有得到任何好的自动完成,但如果你知道如何通过命令行执行一个动作但是不知道Emacs等效的方法,那么它很有用。

M-! mkdir /path/to/new_dir

答案 3 :(得分:5)

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

M-x shell-command

然后

mkdir -p topdir/subdir

答案 4 :(得分:4)

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

答案 5 :(得分:2)

我在搜索如何在Emacs中自动创建目录时遇到了这个问题。几年后我发现的最佳答案是another threadVictor Deryagin的答案正是我所寻找的。将该代码添加到.emacs将使Emacs在您保存文件时提示您创建目录。