如何从Emacs中创建目录?

如何从Emacs中创建目录?,emacs,directory,command,Emacs,Directory,Command,如何使用Emacs创建新目录?我使用什么命令?(如果可能,请提供一个示例) 要创建目录dir/to/create,请键入: M-x make-directory RET dir/to/create RET M-! mkdir -p dir/parent{1,2}/node RET 要创建目录dir/parent1/node和dir/parent2/node,请键入: M-x make-directory RET dir/to/create RET M-! mkdir -p dir/par

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

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

    M-x make-directory RET dir/to/create RET
    
    M-! mkdir -p dir/parent{1,2}/node RET
    
  • 要创建目录
    dir/parent1/node
    dir/parent2/node
    ,请键入:

    M-x make-directory RET dir/to/create RET
    
    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版本中保存新文件时自动创建父目录。对于较旧的版本,请参见Ctrl+XD(
C-XD
)以“dired”模式打开目录,然后+以创建目录。

您还可以使用
M-

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

M-! mkdir /path/to/new_dir

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

我想我今天早些时候做得很辛苦。我做到了:

M-x shell-command
然后


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

我假设“+”位于新文件路径目录的末尾?当我执行C-x C-f并输入“+dirname”时,emacs创建了一个文件“+dirname”,它不会创建一个目录“dirname”。我正在使用OSX,我不知道这是否是问题所在,因为在Linux中这是有效的。@Zeynel:你没有阅读。这里没有
C-x C-f
。使用
C-xd
进入Dired模式,访问要创建子目录的目录。然后点击
+
。就这些。嗨,J.F.塞巴斯蒂安,当我在shell中创建目录时,如何更新目录窗口?@为什么:键入
g
。一般来说,
M-x描述模式RET
C-h M
)以显示当前主要模式的文档。非常感谢!但你是说我输入M-xg还是C-xg?为什么他指的是单个
g
。由于
dired模式
不是编辑模式,因此它直接使用单字母命令(出于好奇:
g
在大多数编辑模式下都绑定到
self-insert命令
)。这样做有效,之后键入“g”以更新屏幕内容。