2008-09-30 11 views

Trả lời

169
  • để tạo ra các thư mục dir/to/create, gõ:

    M-x make-directory RET dir/to/create RET 
    
  • để tạo ra các thư mục dir/parent1/nodedir/parent2/node, gõ:

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

    Nó giả vỏ bọc kém của Emacs là bash/zsh hoặc vỏ tương thích khác.

  • hoặc trong một chế độ Dired

    + 
    

    Nó không tạo ra các thư mục mẹ không tồn tại.

    Ví dụ:

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

    CWD đứng cho hiện tại thư mục làm việc.

  • hoặc chỉ cần tạo một file mới với các thư mục mẹ không tồn tại sử dụng C-x C-f và gõ:

    M-x make-directory RET RET 
    

Emacs hỏi để tạo ra các thư mục mẹ tự động trong khi lưu một file mới trong các phiên bản gần đây Emacs. Đối với phiên bản cũ, xem How to make Emacs create intermediate dirs - when saving a file?

+0

Hi J.F. Sebastian, Khi tôi tạo thư mục trong trình bao, cách cập nhật cửa sổ thư mục? – why

+1

@why: nhập 'g'. Nói chung 'M-x mô tả chế độ RET' (' C-h m') để hiển thị tài liệu của chế độ chính hiện tại. – jfs

+0

Cảm ơn rất nhiều! Nhưng bạn có nghĩa là tôi đầu vào M-x g hoặc C-x g? – why

34

Ctrl +XD (C-x d) để mở một thư mục trong chế độ "dired", sau đó + để tạo ra một thư mục.

+0

Tôi giả sử dấu '+' ở cuối thư mục đường dẫn tệp mới sẽ là gì? –

+0

No. Xem câu trả lời của tôi. – jfs

+0

khi tôi làm C-x C-f và nhập "+ dirname" emacs tạo ra một tập tin "+ dirname", nó không tạo ra một thư mục "dirname". Tôi đang làm việc với OSX, tôi không biết nếu đó là vấn đề bởi vì trong Linux này làm việc. – Zeynel

6

Bạn cũng có thể chạy các lệnh shell đơn sử dụng M-!

Bạn đang cơ bản gửi một chuỗi các dòng lệnh, do đó bạn không nhận được bất kỳ thoải mái tự động hoàn thành nhưng nó rất hữu ích nếu bạn biết làm thế nào để thực hiện một hành động thông qua dòng lệnh nhưng không biết cách tương đương Emacs.

M-! mkdir /path/to/new_dir 
+0

Ý của bạn là 'M-!'? – jfs

4

Bạn có thể sử dụng M-xmake-directory bên trong bất kỳ bộ đệm, không nhất thiết là một bộ đệm dired. Nó là một chức năng lisp bạn có thể sử dụng là tốt.

5

Tôi đoán tôi đã làm điều đó một cách khó khăn vào đầu ngày hôm nay. Tôi đã làm:

M-x shell-command 

sau đó

mkdir -p topdir/subdir 
2

Tôi đã xem qua câu hỏi này trong khi tìm kiếm làm thế nào để tự động tạo thư mục trong Emacs. Câu trả lời hay nhất tôi tìm thấy là trong another thread sau một vài năm.Câu trả lời từ Victor Deryagin chính xác là những gì tôi đang tìm kiếm. Thêm mã đó vào .emacs của bạn sẽ làm cho Emacs nhắc bạn tạo thư mục khi bạn đi lưu tệp.