Bagaimana cara membuat direktori dari dalam Emacs?

142

Bagaimana tepatnya saya bisa membuat direktori baru menggunakan Emacs? Perintah apa yang saya gunakan? (Jika mungkin, berikan contoh)

sinar
sumber

Jawaban:

195
  • untuk membuat direktori dir/to/create, ketik:

    M-x make-directory RET dir/to/create RET
  • untuk membuat direktori dir/parent1/nodedan dir/parent2/node, ketik:

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

    Diasumsikan bahwa cangkang inferior Emacs adalah bash/ zshatau cangkang kompatibel lainnya.

  • atau dalam Diredmode

    +

    Itu tidak membuat direktori induk tidak ada.

    Contoh:

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

    CWD adalah singkatan dari Current Working Directory.

  • atau cukup buat file baru dengan direktori induk yang tidak ada menggunakan C-x C-fdan ketik:

    M-x make-directory RET RET

Emacs meminta untuk membuat direktori induk secara otomatis sambil menyimpan file baru di versi Emacs terbaru. Untuk versi yang lebih lama, lihat Bagaimana membuat Emacs membuat direktori perantara - saat menyimpan file?

jfs
sumber
1
Halo JF Sebastian, Ketika saya membuat direktori di shell, bagaimana cara memperbarui jendela direktori?
mengapa
2
@mengapa: ketik g. Secara umum M-x describe-mode RET( C-h m) untuk menampilkan dokumentasi mode utama saat ini.
jfs
Terima kasih banyak! Tapi maksudmu saya masukan Mx g atau Cx g?
mengapa
1
@mengapa dia berarti tunggal g. Karena dired-modebukan mode pengeditan, ia menggunakan perintah huruf tunggal secara langsung (untuk yang penasaran: gterikat self-insert-commandpada sebagian besar mode pengeditan).
Vicky Chijwani
42

Ctrl+ X D( C-x d) untuk membuka direktori dalam mode "dired", lalu +untuk membuat direktori.

Kirk Strauser
sumber
Saya berasumsi tanda '+' ada di akhir direktori path file yang baru?
Ray
ketika saya melakukan Cx Cf dan memasukkan "+ dirname" emacs membuat file "+ dirname", itu tidak membuat direktori "dirname". Saya bekerja dengan OSX, saya tidak tahu apakah itu masalahnya karena di Linux ini berfungsi.
Zeynel
4
@ Zeynel: Anda tidak sedang membaca. Tidak ada C-x C-fdisini. Anda gunakan C-x duntuk masuk ke mode Dired, mengunjungi direktori tempat Anda ingin membuat subdirektori. Lalu kamu menekan +. Itu saja.
Drew
8

Anda juga dapat menjalankan perintah shell tunggal menggunakan M-!

Anda pada dasarnya mengirim string ke baris perintah sehingga Anda tidak mendapatkan pelengkapan otomatis yang bagus tetapi ini berguna jika Anda tahu cara melakukan tindakan melalui baris perintah tetapi tidak tahu cara yang setara dengan Emacs.

M-! mkdir /path/to/new_dir
Cristian
sumber
Ini berfungsi, ketik 'g' setelahnya untuk memperbarui konten layar.
mistige
5

Saya kira saya melakukannya dengan cara yang sulit sebelumnya hari ini. Aku melakukannya:

M-x shell-command

kemudian

mkdir -p topdir/subdir
etank
sumber
4

Anda dapat menggunakan M-x make-directorybagian dalam buffer apa pun, tidak harus buffer yang dired. Ini adalah fungsi lisp yang bisa Anda gunakan juga.

Jonathan Arkell
sumber
2

Saya menemukan pertanyaan ini ketika mencari cara membuat direktori di Emacs secara otomatis. Jawaban terbaik yang saya temukan ada di utas lain dari beberapa tahun kemudian. Jawaban dari Victor Deryagin persis seperti yang saya cari. Menambahkan kode itu ke .emacs Anda akan membuat Emacs meminta Anda untuk membuat direktori ketika Anda pergi untuk menyimpan file.

Brian Taylor
sumber