Không có chức năng như vậy được xây dựng vào Emacs, nhưng bạn có thể hack nó bằng cách thêm các dòng sau vào emacs bạn file:
(defvar blink-cursor-interval-visible 1)
(defvar blink-cursor-interval-invisible 0.2)
(defadvice internal-show-cursor (before unsymmetric-blink-cursor-interval)
(when blink-cursor-timer
(setf (timer--repeat-delay blink-cursor-timer)
(if (internal-show-cursor-p)
blink-cursor-interval-visible
blink-cursor-interval-invisible))))
(ad-activate 'internal-show-cursor)
Emacs thực hiện các nhấp nháy của con trỏ với một chức năng chuyển đổi gọi là bởi một bộ đếm thời gian. Mỗi khi hàm được gọi, nó sẽ ẩn con trỏ nếu nó hiện đang hiển thị hoặc hiển thị nó nếu nó không nhìn thấy được. Thật không may, bộ đếm thời gian gọi hàm này ở một khoảng thời gian cố định.
Để nhận ra thời gian trễ khác nhau tùy thuộc vào trạng thái của con trỏ, mã trên advises chức năng nội bộ hiển thị hoặc ẩn con trỏ. Mỗi lần hàm đó được gọi, lời khuyên thay đổi thời gian trễ của bộ hẹn giờ thành 1 hoặc 0,2, tùy thuộc vào việc con trỏ có hiển thị hay không. Tức là, mỗi khi con trỏ bị ẩn hoặc hiển thị, thời gian trễ của bộ hẹn giờ được thay đổi.
Khá đáng sợ, nhưng nó thực hiện thủ thuật.
Bạn có thể giải thích cách hoạt động của tính năng này không? Tôi khá hứng thú. –
Cảm ơn câu trả lời. Nó phá vỡ nếu bạn gọi chế độ nhấp nháy-con trỏ nhưng hoạt động như mong đợi :) – Jesse
Bạn có phiền phức tạp khi nó bị hỏng không? – Thomas