Який другорядний режим друкує відкриття батьків у зоні відлуння?


10

Це дійсно приємна функція, але вона відображається лише при вставці батьківського, а не при зміні положення курсору. Чи є інтерактивна команда, яку я можу зателефонувати, щоб відобразити це? Чи можу я налаштувати його на показ курсора?

введіть тут опис зображення

Відповіді:


6

Це повідомлення друкується, коли початок сексопа не видно у вікні; інакше батьківський параметр відкриття тимчасово виділяється.

Така поведінка реалізована в simple.elі не пов'язана з жодним другорядним режимом. Він реалізований за допомогою гачка, який запускається при вставці символу.

Фактичне миготіння / повідомлення походить від команди blink-matching-open, яку ви можете викликати самостійно. Наприклад, ви можете запустити таймер холостого ходу, який буде викликати цю команду кожного разу, коли ви зробите короткий час на паренші, що закривається. Це спосіб, яким працює вбудований show-paren-mode.

(defvar match-paren--idle-timer nil)
(defvar match-paren--delay 0.5)
(setq match-paren--idle-timer (run-with-idle-timer match-paren--delay t #'blink-matching-open))

Я теж хочу цього, але як зробити це не тимчасовим? Тобто я хочу, щоб повідомлення залишалося в мінібуфері, поки курсор не переміститься.
Faheem Mitha

4

Ви можете використовувати M-x blink-matching-open RETдля відображення повідомлення, якщо ви маєте право після батьків. Щоб зробити це більше "на льоту", що ви можете спробувати M-x show-paren-mode, тому це насправді не дає вам цього повідомлення.

Інакше ви могли б скористатися чимось подібним

(add-hook 'post-command-hook
          (lambda ()
            (if (and (not (bobp))
                     (eq ?\) (char-syntax (char-before))))
                (blink-matching-open))))
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.