Đặt VISUAL
thành emacsclient -c
(hoặc một số biến thể khác mà không có -n
).
Tùy chọn này -n
sẽ emacsclient
quay trở lại ngay khi liên hệ với phiên bản Emacs đang chạy để yêu cầu nó chỉnh sửa tệp. Chương trình gọi trình soạn thảo (ở đây, zsh, nhưng điều này áp dụng như nhau cho bất kỳ chương trình nào khác gọi $VISUAL
) biết rằng bạn đã chỉnh sửa xong vì chương trình mà nó gọi đã thoát, -n
về cơ bản, xảy ra ngay lập tức.
Bạn cần sắp xếp cho chương trình được gọi VISUAL
để thoát khi bạn chỉnh sửa xong, tức là khi bạn đóng bộ đệm trong Emacs. Đó chính xác là những gì emacsclient
không cần -n
: nó liên hệ với cá thể Emacs đang chạy để bảo nó mở tệp, sau đó ngồi xung quanh cho đến khi Emacs trả lời để nói với emacsclient rằng phiên chỉnh sửa kết thúc. Cách thông thường để kết thúc một phiên chỉnh sửa là nhấn C-x #
( server-edit
). Điều này thông báo cho emacsclient và đóng bộ đệm, cũng như khung khi nó được mở bằng emacsclient -c
. Đóng bộ đệm cũng thông báo quá trình emacsclient rằng phiên kết thúc, nhưng bạn nhận được một cảnh báo nhắc ( “Buffer ... vẫn có khách hàng, giết nó?”), Mà bạn có thể vô hiệu hóa bằng cách ghi đè các chức năng server-kill-buffer-query-function
(RMS nghĩ đó là nguy hiểm). Trong một khung được mở bởiemacsclient -c
, nhấn C-x C-c
( save-buffers-kill-terminal
) lưu tệp, đóng tệp và đóng khung.
-n
cũng sẽ ngăn emacsclient làm việc như một trình soạn thảo cho git.