Как создать каталог из Emacs?

Как именно я могу создать новый каталог с помощью Emacs? Какие команды я использую? (Если возможно, приведите пример)

6 ответов


  • для создания каталога 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 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. Для более старой версии см. как заставить Emacs создавать промежуточные dirs - при сохранении файла?


Ctrl+X D (C-x d) чтобы открыть каталог в режиме "dired", затем + создать каталог.


вы также можете запускать команды одной оболочки с помощью M-!

вы в основном отправляете строку в командную строку, поэтому вы не получаете хорошего автоматического завершения, но это полезно, если вы знаете, как выполнить действие через командную строку, но не знаете эквивалентного способа Emacs.

M-! mkdir /path/to/new_dir

Я думаю, что я сделал это трудный путь ранее сегодня. Я:

M-x shell-command

затем

mkdir -p topdir/subdir

можно использовать M-x make-directory внутри любого буфера, не обязательно dired буфера. Это функция lisp, которую вы также можете использовать.


Я столкнулся с этим вопросом при поиске того, как автоматически создавать каталоги в Emacs. Лучший ответ я нашел в другой поток через несколько лет. Ответ от Виктор Дерягин было именно то, что я искал. Добавление этого кода к вашему .emacs заставит Emacs предложить вам создать каталог, когда вы идете, чтобы сохранить файл.