Không ai đề cập đến symbol-overlay
chế độ . Về cơ bản nó là một bản viết lại tốt hơn highlight-symbol-mode
. "Tốt hơn" như trong, thiếu lỗi của biểu tượng đánh dấu ban đầu (chẳng hạn như đánh dấu tạm thời bị kẹt hoặc đánh dấu tạm thời biến mất khi di chuyển bên trong từ được đánh dấu; hoặc không thể đánh dấu các biểu tượng như thế *
) , được tích hợp và duy trì tốt hơn. Xem đoạn "Ưu điểm" của README của nó.
Bạn có thể cài đặt nó như bình thường, với M-xpackage-install (đảm bảo cập nhật danh sách gói trước với package-list-packages
) . Để tham khảo, ở dưới cùng, tôi đã đính kèm mã, tôi sử dụng để bật chế độ và tắt một số tính năng nâng cao hơn mà bạn có thể muốn hoặc có thể không muốn.
Notepad ++ có một tính năng tiện lợi: nếu bạn chọn một từ trong văn bản của mình (không nhất thiết phải là một từ khóa), từ đó sẽ được tô sáng trong toàn văn bản. Điều này có thể được thực hiện trong Emacs không? Và nếu vậy, làm thế nào?
Sau khi bạn bật overlay-symbol
, các lần xuất hiện trên màn hình sẽ được hiển thị cho mọi từ mà bạn đặt con trỏ sau khi hết thời gian chờ (thời gian chờ theo mặc định là 0,5 giây, có thể được cấu hình bằng symbol-overlay-idle-time
biến) . Nếu một từ không được đánh dấu, điều này có nghĩa là chỉ có một từ phù hợp trên màn hình (từ mà bạn đặt con trỏ vào) , do đó không cần đánh dấu từ đó.
Sẽ rất tuyệt nếu các điểm nổi bật là vĩnh viễn, tức là, việc di chuyển điểm ra khỏi từ được đánh dấu sẽ không làm cho phần đánh dấu bị xóa.
Để đánh dấu từ dưới con trỏ vĩnh viễn, có một chức năng symbol-overlay-put
. Để unhighlight gọi nó một lần nữa.
Trong ví dụ cấu hình của tôi, nó được liên kết với phím Logo+ `.
(require 'symbol-overlay)
(defun enable-symbol-overlay-mode ()
(unless (or (minibufferp)
(derived-mode-p 'magit-mode)
(derived-mode-p 'xref--xref-buffer-mode))
(symbol-overlay-mode t)))
(define-global-minor-mode global-symbol-overlay-mode
symbol-overlay-mode
enable-symbol-overlay-mode)
(global-symbol-overlay-mode)
(global-set-key (kbd "s-`") 'symbol-overlay-put)
(setq symbol-overlay-ignore-functions nil)
(setq symbol-overlay-map (make-sparse-keymap))