2012-03-10 37 views
21

Tôi tự hỏi làm thế nào là một số lệnh tương tác trong emacs hiện giá trị mặc định trong khi những người khác thì không. Ví dụ: khi tôi ở trong tệp C và con trỏ đứng trên printf, chạy manual-entry sẽ đề xuất hiển thị trang thủ công theo mặc định printf. Tôi muốn tạo các lệnh tương tác của riêng mình với giá trị mặc định. Làm sao? Có vẻ như điểm-tại-điểm là một hướng tốt, nhưng làm cách nào để kết hợp mọi thứ và tương tác với nhau?lệnh tương tác emacs với giá trị mặc định

Trả lời

23

Bạn đã có điểm khởi đầu tốt để nghiên cứu giải pháp của riêng bạn.

thing-at-point có thể hữu ích trong ngữ cảnh này. Gần đây tôi đã answered câu hỏi mà tôi đã giải thích cách giải quyết loại sự cố này bằng cách khám phá cơ sở mã số Emacs .

Đây là chức năng đồ chơi thô tôi đã nghĩ ra.

(defun say-word (word) 
    (interactive (list 
       (read-string (format "word (%s): " (thing-at-point 'word)) 
          nil nil (thing-at-point 'word)))) 
    (message "The word is %s" word)) 

Một điều quan trọng ở đây là hiểu cách thức hoạt động của biểu mẫu interactive. Tôi sẽ đọc cẩn thận manual section.

+0

Điều này có vẻ giống như những gì tôi đang tìm kiếm. Cảm ơn rất nhiều! –

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