Vì emacsclient có thể xử lý thời gian tải gói dài trước đây, tôi thực sự muốn giữ ít nhất một quy trình emacs và hầu hết thời gian chỉ có một quy trình emacs , mở dưới dạng quy trình nền và ẩn GUI tốt hơn.
Ngay bây giờ tôi đã định nghĩa hàm sau trong .bashrc:
emc ()
{
if [[ $# -eq 0 ]]; then
emacs --eval "(suspend-frame)" &
return
fi
args=($*);
setsid emacsclient -c -e "(find-file \"${args[*]}\")"
}
Và cũng có dòng sau trong .bashrc:
emc
Vì vậy, mỗi khi tôi mở một cái vỏ, cuối cùng tôi sẽ có một quy trình emacs mới.
Vấn đề là tôi sẽ có thêm quá trình emacs không cần thiết sau khi mở nhiều shell. Tuy nhiên, tôi chỉ muốn duy trì một quá trình emacs duy nhất mọi lúc từ khi khởi động ẩn GUI tốt hơn .
emacs --eval "(suspend-frame)"
hơn làemacs --daemon
( emacswiki.org/emacs/EmacsAsDaemon ). Có một lý do bạn chọn không gọi emacs như một daemon? Bạn có thể sử dụng một cái gì đó nhưpgrep -U `whoami` emacs || emacs --daemon &
để đảm bảo rằng nó đang chạy.