Làm thế nào để xóa một chức năng?


8

Đối với những gì tôi làm tôi có xu hướng xác định rất nhiều chức năng mà tôi sử dụng tạm thời. Tuổi thọ thường khoảng 1-2 tuần - và sau đó tôi xác định một bộ chức năng mới.

Tôi không thể tìm thấy các định nghĩa này thực sự ở đâu, cũng như làm thế nào để xóa chúng chỉ bằng cách cung cấp một tên hàm (sẽ hữu ích).


3
Quan tâm làm gì? Chúng sẽ biến mất nếu và khi bạn khởi động lại Emacs tiếp theo (trừ khi bạn lưu chúng trong của bạn .emacs).
Barmar

1
@Barmar. Xem, tôi đã không biết điều đó. Câu hỏi của tôi đã được chỉnh sửa nhiều lần. Những gì tôi làm là xác định một macro bàn phím, lưu nó dưới dạng một hàm và liên kết nó với một phím tắt. Một khi tôi đã hoàn thành với những gì tôi làm, thường xác định nhiều hơn và rebind. Nhưng chức năng vẫn còn đó nếu tôi nhấn Mx. Do đó câu hỏi. Tái bút Tôi không biết nhiều nội bộ của Emacs nên có vẻ như đây là một câu hỏi rõ ràng đối với một số người.
A_P

Câu trả lời:


7

Ngoài việc loại bỏ định nghĩa hàm với fmakunboundvà ràng buộc biến với makunbound, bạn cũng có thể xóa tên đó bằng unintern.

Cũng lưu ý rằng, trừ khi bạn lưu định nghĩa của mình trong một tệp (ví dụ: tệp init ) và tải nó, các hàm và biến của bạn sẽ biến mất khi bạn khởi động lại Emacs.


13

Các chức năng không bị ràng buộc với:

(fmakunbound 'NAME)

(Tương đương với các biến là makunbound.)

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.