Emacs bộ đệm ẩn danh ban đầu


0

Tôi đã từng có trong .init.eltệp emacs của mình hai dòng sau được sử dụng để ngăn chặn màn hình giật gân và chuyển sang bộ đệm ẩn danh

(setq inhibit-splash-screen t) (switch-to-buffer "**")

Gần đây tôi bắt đầu sử dụng emacs --daemonemacsclientbộ đệm ban đầu của tôi được đặt thành *scratch*. Tôi không muốn tương tác Lisp và thông báo cào phiền phức vì vậy tôi đã viết dòng sau đây tronginit.el

(setq initial-buffer-choice "**")

Vấn đề là bộ đệm ban đầu mới khác với **bộ đệm truyền thống . Trong thực tế, khi đóng emacs, tôi được nhắc lưu một tệp được gọi **, trong khi tôi không muốn loại hành vi này, tôi chỉ muốn **bộ đệm ẩn danh truyền thống của mình .

Tôi biết rằng tôi có thể tự thiết lập initial-major-modeinitial-scratch-messagevà tiếp tục sử dụng *scratch*nhưng tôi thực sự muốn sử dụng **để thay thế.

Làm thế nào tôi có thể giải quyết vấn đề này?

Câu trả lời:


0

Từ initial-buffer-choicetài liệu:

Nếu giá trị là 0 và 'ức chế-khởi động-màn hình' là không, hãy hiển thị màn hình khởi động. Nếu giá trị là một chuỗi, chuyển sang bộ đệm truy cập tệp hoặc thư mục mà chuỗi chỉ định. Nếu giá trị là một hàm, hãy gọi nó không có đối số và chuyển sang bộ đệm mà nó trả về. Nếu t, mở bộ đệm ' cào '.

Bạn đã đặt giá trị dưới dạng một chuỗi, vì vậy nó sẽ chuyển một bộ đệm truy cập vào tệp mà chuỗi chỉ định .

Thay vào đó, bạn có thể đặt giá trị làm hàm trả về bộ đệm bạn muốn chọn:

(setq initial-buffer-choice (lambda () (get-buffer-create "**")))

Lưu ý rằng tôi đã sử dụng get-buffer-create, bởi vì nếu bộ đệm không tồn tại thì hàm được truyền sẽ trở lại nil, điều này có thể gây ra vấn đề khi tạo khung mới.

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.