Jak utworzyć katalog z poziomu Emacsa?

Jak dokładnie mogę utworzyć nowy katalog używając Emacsa? Jakich poleceń używam? (Jeśli to możliwe, proszę podać przykład)

Author: Ray Vega, 2008-10-01

6 answers

  • Aby utworzyć katalog dir/to/create, wpisz:

    M-x make-directory RET dir/to/create RET
    
  • Aby utworzyć katalogi dir/parent1/node i dir/parent2/node, wpisz:

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

    Zakłada, że dolna powłoka Emacsa jest bash/zsh lub innej kompatybilnej powłoki.

  • Lub w trybie Dired

    +
    

    Nie tworzy nieistniejących katalogów nadrzędnych.

    Przykład:

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

    CWD oznacza bieżący katalog roboczy.

  • Lub po prostu utworzyć nowy plik z nieistniejące katalogi nadrzędne przy użyciu C-x C-f i typu:

    M-x make-directory RET RET
    

Emacs prosi o automatyczne utworzenie katalogów nadrzędnych podczas zapisywania nowego pliku w ostatnich wersjach Emacsa. Aby zapoznać się ze starszą wersją, zobacz Jak sprawić, by Emacs tworzył pośrednie dirs-podczas zapisywania pliku?

 174
Author: jfs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:22

Ctrl+X D (C-x d) aby otworzyć katalog w trybie "dired", następnie + aby utworzyć katalog.

 36
Author: Kirk Strauser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-08 23:39:12

Można również uruchamiać pojedyncze polecenia powłoki używając M-!

W zasadzie wysyłasz ciąg znaków do linii poleceń, więc nie otrzymujesz żadnego ładnego autouzupełniania, ale jest to przydatne, jeśli wiesz, jak wykonać akcję za pomocą linii poleceń, ale nie znasz równoważnego sposobu Emacsa.

M-! mkdir /path/to/new_dir
 7
Author: Cristian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-16 15:01:11

Chyba zrobiłem to wcześniej. Zrobiłem:

M-x shell-command

Then

mkdir -p topdir/subdir
 5
Author: etank,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-27 20:07:02

Możesz użyć M-x make-directory wewnątrz dowolnego bufora, niekoniecznie dired buffer. Jest to funkcja Lispu, której możesz również użyć.

 4
Author: Jonathan Arkell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-30 18:08:03

Natknąłem się na to pytanie podczas wyszukiwania Jak automatycznie tworzyć katalogi w Emacsie. Najlepszą odpowiedź znalazłem w innym wątku z kilku lat później. Odpowiedź od Victora Deryagina była dokładnie tym, czego szukałem. Dodanie tego kodu do twojego .emacs sprawi, że Emacs poprosi Cię o utworzenie katalogu po przejściu do zapisu pliku.

 2
Author: Brian Taylor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:16