Thay đổi thư mục mặc định trong Emacs


106

Tôi còn khá mới đối với Emacs và tôi đã cố gắng tìm ra cách thay đổi thư mục mặc định C-x C-fkhi khởi động. Ví dụ: lần đầu tiên tôi tải Emacs và nhấn vào C-x C-fthư mục mặc định của nó là C:\emacs\emacs-21.3\bin, nhưng tôi muốn nó là máy tính để bàn. Tôi tin rằng có một số cách để tùy chỉnh .emacstệp để thực hiện việc này, nhưng tôi vẫn không chắc đó là gì.

Cập nhật: Có ba giải pháp cho sự cố mà tôi thấy có hiệu quả, tuy nhiên tôi tin rằng giải pháp 3 chỉ dành cho Windows.

  • Giải pháp 1: Thêm (cd "C:/Users/Name/Desktop")vào .emacstệp

  • Giải pháp 2: Thêm (setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/")vào .emacstệp

  • Giải pháp 3: Nhấp chuột phải vào đường tắt Emacs, nhấn thuộc tính và thay đổi trường bắt đầu trong thư mục mong muốn.

Câu trả lời:


84

Bạn không nói như vậy, nhưng có vẻ như bạn đang khởi động Emacs từ một phím tắt Windows.

Thư mục mà bạn thấy với cx cf là cwd, theo thuật ngữ Emacs, là default-directory(một biến).

Khi bạn khởi động Emacs bằng lối tắt MS Windows, default-directoryban đầu là thư mục (thư mục) được chỉ định trong trường "Start In" của thuộc tính lối tắt. Nhấp chuột phải vào lối tắt, chọn Propertiesvà nhập đường dẫn đến màn hình của bạn trong Start Intrường.

Nếu bạn đang sử dụng Emacs từ dòng lệnh, hãy default-directorybắt đầu dưới dạng thư mục nơi bạn bắt đầu Emacs (cwd).

Cách tiếp cận này tốt hơn so với việc chỉnh sửa tệp .emacs của bạn, vì nó sẽ cho phép bạn có nhiều phím tắt với nhiều hơn một thư mục bắt đầu và nó cho phép bạn có hành vi dòng lệnh bình thường của Emacs nếu bạn cần.

CWD = thư mục làm việc hiện tại = PWD = thư mục làm việc hiện tại . Nó có ý nghĩa hơn ở dòng lệnh so với trong GUI.


Có, tôi đang sử dụng emacs trên windows.
Anton

5
Điều này cũng hoạt động trên MacOS. Tôi đã thêm cái này vào (setq default-directory (concat (getenv "HOME") "/"))
.emac

Và nếu bạn muốn Emacs bắt đầu trong Dired of đó thì ngoài việc đặt nó vào Start Intrường, hãy thêm nó vào cuối Targettrường, sau một hoặc nhiều khoảng trắng, đặt nó giữa dấu ngoặc kép ( "). Ví dụ: "d:\path\to\the\folder".
Drew

48

Tôi nghĩ dòng bạn cần thêm vào .emacs của mình là

(setq default-directory "C:/Documents and Settings/USER NAME/Desktop/" )

Emacs sẽ bắt đầu trong màn hình của bạn theo cách đó, trừ khi bạn có một tệp đang mở. Nó thường sẽ bắt đầu trong cùng thư mục với tệp trong bộ đệm hiện tại của bạn nếu không.



24

tôi đã để

(cd "c:/cvsroot/")

trong .emac của tôi và nó đã thực hiện công việc


6

Thư mục mặc định thực sự giống với thư mục làm việc hiện tại cho bộ đệm, tức là nó có thể khác nhau đối với mọi tệp bạn làm việc. Giả sử rằng tệp bạn đang làm việc được đặt trong C:\dir_ađó, thì thư mục làm việc cho bộ đệm đó theo mặc định sẽ là C:\dir_a. Bạn có thể thay đổi điều này bằng M-x cdvà nhập vào bất kỳ thư mục nào bạn muốn làm thư mục mặc định thay thế (và theo mặc định, tôi có nghĩa là thư mục sẽ hiển thị khi bạn làm như vậy C-x C-f).

Nếu bạn khởi động emacs mà không mở tệp, bạn sẽ *scratch*mở bộ đệm. Nếu bạn bắt đầu emacs từ một phím tắt Windows, thư mục làm việc sẽ giống với thư mục được chỉ định trong thuộc tính phím tắt. Nếu bạn bắt đầu nó từ dòng lệnh, nó sẽ là thư mục từ nơi bạn bắt đầu nó. Bạn vẫn có thể thay đổi thư mục mặc định này bằng M-x cd, cũng từ *scratch*bộ đệm.

Cuối cùng, bạn có thể làm như Vadim gợi ý và đặt

(cd "c:/dir_a/")

trong .emacstệp của bạn , để đặt thư mục đó làm mặc định cho dù bạn khởi động emacs như thế nào.


4

Khi đang sử dụng Windows, bạn có thể làm điều đó bằng một phím tắt.

Tạo lối tắt đến C:\emacs\emacs-21.3\bin\runemacs.exe. Chỉnh sửa các thuộc tính của phím tắt và thay đổi giá trị Start In:thành bất kỳ giá trị nào bạn muốn cho thư mục mặc định của mình.


4

Tôi đang sử dụng emacs 22.2.1 trong Windows XP và đã được các câu trả lời ở trên giúp đỡ để nhận được phản hồi trong bộ đệm nhỏ mà tôi muốn lệnh Cx Cf. Ban đầu tôi nhận được "Tìm tệp: C: \ Program Files \ emacs \ bin /" như Anton. Tôi đã đặt HOME thành "C: \ Documents and settings \ USER NAME \ My Documents". Phản hồi cho Cx Cf tôi muốn trong bộ đệm nhỏ là "Tìm tệp: ~ /". Bằng cách thêm (setq default-directory "C: / Documents and Settings / USER NAME / My Documents") vào tệp .emacs của mình, tôi đã có thể nhận được phản hồi "Tìm tệp: C: \ Documents and settings \ USER NAME \ My Documents / "có chức năng giống như" Tìm tệp: ~ / ". Tuy nhiên, tôi nhận thấy một điểm nữa. "Tùy chỉnh Emacs" trong "Tùy chọn" cho phép tôi ngăn chặn màn hình khởi động. Bây giờ khi tôi mở emacs, tôi sẽ ngay lập tức đến bộ đệm cào. Khi tôi gõ Cx Cf trong bộ đệm đầu, tôi nhận được phản hồi chính xác mà tôi muốn.


+1 vì đề cập đến việc ngăn chặn màn hình khởi động. Tôi thấy đây là chìa khóa trên hệ thống Windows 10 của mình. Tôi đăng câu trả lời của tôi về vấn đề liên quan stackoverflow.com/a/38435697/823636
Rob_before_edits

1

Tôi đã thêm vào phím tắt của mình (trong Gnome, Linux) một pramater là tên tệp giả trống và tôi chỉ định thư mục. Vì emacs của tôi mặc định là "home", tôi chỉ nói:

/ Desktop / blank_file

và điều đó sẽ mở ra một tệp có tên "blank_file"

Điều đó cũng di chuyển thư mục làm việc hiện tại cho phiên emacs đó sang màn hình nền.

Nếu tôi tình cờ đặt nội dung vào "blank_file" rồi lưu nó, tất nhiên, tôi đã lưu nội dung đó. Đó có thể là một sự khó chịu hoặc nó có thể là một điều tốt, tùy thuộc!


1

Để thay đổi thư mục mặc định thành DESKTOP trong Dired và shell, hãy đặt thư mục này vào ~ / .emacs:

;; Điều này hoạt động cho Windows XP.
(setq default-directory (nối "C: \ Documents and Settings \ MY_ACCOUNT \ DESKTOP \"))


0

Trong Windows 8, nó hoạt động để tạo lối tắt trong Màn hình nền và thay đổi thuộc tính 'Start In:' cho phím tắt.

Bây giờ, tôi đã chạy chương trình emacs-23.3 \ bin \ addpm.exe theo khuyến nghị và màn hình Windows-8 (phát minh khủng khiếp đó của Microsoft) xuất hiện liên kết biểu tượng đến Emacs. Nhưng ở đó bạn phải thay đổi lại thuộc tính 'Start In'. (Nó khác với cái trong máy tính để bàn). Chỉ cần nhấp chuột phải, chọn ở thanh dưới cùng 'Mở vị trí tệp' (hoặc tương tự, tôi đã làm điều đó bằng ngôn ngữ của tôi) và bạn được đưa đến thư mục có lối tắt mới, trong đó bạn có thể (phải) thay đổi thuộc tính 'Bắt ​​đầu vào:'.

Một chút tham gia, nhưng thực tế rất dễ dàng.


0

Vì điều khó chịu nhất là có windows Emacs đổ bạn vào system32 khi bạn chỉ sử dụng phím tắt, nhưng muốn mọi trường hợp khác hoạt động, chỉ cần sử dụng một chút elisp ...

(khi (chuỗi <"C: \ WINDOWS \ system32" default-directory) (setq default-directory "~ /"))

Vì vậy, nó sẽ chỉ mặc định là thư mục chính của bạn khi bạn kết thúc vào hệ thống. Hạn chế duy nhất là nếu bạn thực sự muốn khởi động emacs trong system32 ...

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.