Có thể thực hiện một chức năng hoặc lệnh tại một thời điểm cụ thể?


8

Có thể thực hiện một chức năng hoặc lệnh tại một thời điểm cụ thể? Như một ví dụ rõ ràng, có thể giết emacs tại một thời điểm cụ thể (thời gian được xác định bởi HĐH).



Tôi thấy ai đó đang dùng biện pháp cứng để ngăn chặn nghiện emacs :)
biocyberman

Câu trả lời:


14

Bạn muốn sử dụng chức năng run-at-time, được mô tả trong Chương 38.10 của hướng dẫn sử dụng Emacs Lisp. Trong trường hợp của bạn, một cái gì đó như thế này nên thực hiện mẹo:

(run-at-time "20:30" nil #'kill-emacs)

Nếu chức năng bạn muốn gọi có tham số, bạn có thể chỉ định chúng làm tham số bổ sung cho run-at-time:

(run-at-time "5 sec" nil #'message "Tempus volat, hora fugit.")

Lưu ý rằng thời gian tuyệt đối được thực hiện cho đến ngày hôm nay, ngay cả khi chúng ở trong quá khứ, vì vậy ví dụ đầu tiên ở trên sẽ thoát ngay lập tức nếu sau 20:30.


1
Tôi đặt mã của bạn vào tệp .emacs của tôi. Nó giết chết emacs tại thời điểm nhất định! Nhưng khi tôi khởi động lại emacs, nó sẽ bị giết ngay lập tức. Có gợi ý nào không?
Tên

1
@Tên chỉnh sửa để làm rõ.
JCH

LOL, bạn có thể bắt đầu với công tắc -q để bỏ qua tệp init sẽ nướng bánh cho đến nửa đêm. Sau đó, dép thủy tinh rơi xuống và bạn có thể chỉnh sửa lại cho đến cùng ngày mai.
devon
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.