2013-07-04 25 views
8

Nếu tôi đưa ra giao diện tùy biến của emacs, chỉnh sửa một biến, và sau đó thiết lập + lưu nó, giá trị mới của nó được lưu trữ trong một danh sách (custom-set-variables ...) trong tệp init của tôi.Lưu "custom-set-variables" với elisp

Bây giờ, giả sử tôi đã sửa đổi một giá trị của biến trong elisp (sử dụng (setq ...) hoặc cái gì khác).

Làm cách nào để lưu giá trị mới này vào danh sách (custom-set-variables ...)bằng cách sử dụng elisp thay vì giao diện tương tác?

+0

Tôi biết tôi canb chỉ cần viết lệnh '(setq' vào tệp init của tôi, nhưng đó không phải là những gì tôi đang tìm kiếm. Tôi cần một phương pháp tự động để lưu biến. – Malabarba

+0

Hành vi mặc định là không liệt kê các biến được xác định với 'setq' khi lưu các biến tập hợp tùy chỉnh với giao diện người dùng, và, các biến' setq' này thường không thể được ghi đè thông qua giao diện người dùng. sử dụng cùng một định dạng trong mã elisp của bạn - tức là, cùng định dạng mà bạn nhìn thấy sau khi lưu với giao diện người dùng.Lưu chuyện ngắn, nếu bạn sử dụng 'setq' - bạn không thể đến đó từ đây - trừ khi bạn sử dụng mới setq' tải sau khi 'setq' trước đó xác định lại nó một cách hiệu quả – lawlist

+0

Phép thuật xảy ra với' .../lisp/cus-edit.el' và '.../lisp/custom.el' – lawlist

Trả lời

7

Hình như bạn đang tìm kiếm customize-save-variable

0

Giá trị của `tùy chỉnh-file' nói nơi các tùy chỉnh của bạn được lưu trữ. Đó là một Emacs Lisp đơn giản, e.i. tệp văn bản. Bạn có thể thay đổi các giá trị ở đó từ bất kỳ chương trình nào, tạo một lệnh dễ dàng hoặc thay đổi nó từ bên ngoài thông qua chế độ sed, perl, python, emacs-batch, v.v.

+0

Đúng, nhưng phải có điều gì đó dễ dàng hơn (và ít rủi ro hơn) phân tích cú pháp tệp tùy chỉnh theo cách thủ công. – Malabarba

Các vấn đề liên quan