Làm cách nào để tạo một thư mục từ bên trong Emacs?


142

Làm thế nào chính xác tôi có thể tạo một thư mục mới bằng Emacs? Tôi sử dụng lệnh nào? (Nếu có thể, vui lòng cung cấp một ví dụ)

Câu trả lời:


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

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

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

    Nó giả định rằng lớp vỏ kém hơn của Emacs là bash/ zshhoặc lớp vỏ tương thích khác.

  • hoặc trong một Diredchế độ

    +

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

    Thí 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 là viết tắt của Thư mục làm việc hiện tại.

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

    M-x make-directory RET RET

Emacs yêu cầu tự động tạo các thư mục mẹ trong khi lưu một tệp mới trong các phiên bản Emacs gần đây. Đối với phiên bản cũ hơn, hãy xem Cách tạo Emacs tạo thư mục trung gian - khi lưu tệp?


1
Xin chào JF Sebastian, Khi tôi tạo một thư mục trong shell, làm thế nào để cập nhật cửa sổ thư mục?
tại sao

2
@why: loại g. Nói chung M-x describe-mode RET( C-h m) để hiển thị tài liệu của chế độ chính hiện tại.
jfs

Cảm ơn rất nhiều! Nhưng ý bạn là tôi nhập Mx g hay Cx g?
tại sao

1
@why anh có nghĩa là độc thân g. Vì dired-modekhông phải là chế độ chỉnh sửa, nó sử dụng các lệnh một chữ cái trực tiếp (đối với người tò mò: gbị ràng buộc self-insert-commandtrong hầu hết các chế độ chỉnh sửa).
Vicky Chijwani

42

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


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

Khi tôi làm Cx Cf và nhập "+ dirname" emacs tạo một tệp "+ dirname", nó không tạo thư mục "dirname". Tôi đang làm việc với OSX, tôi không biết đó có phải là vấn đề không vì trong Linux, nó hoạt động.
Zeynel

4
@Zeynel: Bạn không đọc. Không có C-x C-fở đây. Bạn sử dụng C-x dđể vào chế độ Dired, truy cập vào thư mục mà bạn muốn tạo thư mục con. Rồi bạn đánh +. Đó là tất cả.
vẽ

8

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

Về cơ bản, bạn đang gửi một chuỗi đến dòng lệnh để bạn không nhận được bất kỳ hoàn thành tự động đẹp nào nhưng sẽ hữu ích nếu bạn biết cách 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 với Emacs.

M-! mkdir /path/to/new_dir

Điều này hoạt động, nhập 'g' sau đó để cập nhật nội dung màn hình.
nhầm

5

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

M-x shell-command

sau đó

mkdir -p topdir/subdir

4

Bạn có thể sử dụng M-x make-directorybên trong bất kỳ bộ đệm nào, không nhất thiết phải là bộ đệm được điều hướng. Đây là một chức năng tốt mà bạn có thể sử dụng là tốt.


2

Tôi đã gặp câu hỏi này trong khi tìm kiếm cách tự động tạo thư mục trong Emacs. Câu trả lời tốt nhất tôi tìm thấy là trong một chủ đề khác từ một vài năm sau đó. 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ẽ khiến Emacs nhắc bạn tạo thư mục khi bạn lưu tệp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.