Тире (-), en-dash (-) и emdash (-) различны, но их трудно отличить друг от друга. Это вызывает проблемы, например, при написании программ. Есть ли какой-нибудь способ отличить их в emacs? Благодарю.
источник
Тире (-), en-dash (-) и emdash (-) различны, но их трудно отличить друг от друга. Это вызывает проблемы, например, при написании программ. Есть ли какой-нибудь способ отличить их в emacs? Благодарю.
Вот немного веселья с улыбающимися лицами Unicode. Ан-дэш визуально становится черным смайликом. Эм-Дэш визуально становится белым смайликом. Обратите внимание, что некоторые версии Emacs могут не поддерживать символы Unicode на смайликах - это только демонстрация - конечно, можно выбирать другие символы Unicode. Можно использовать другие лица, и пользователь может создавать свои собственные лица.
(let ((glyph-en-dash (make-glyph-code ?\u263A 'font-lock-keyword-face))
(glyph-em-dash (make-glyph-code ?\u263B 'font-lock-function-name-face)) )
(when (not buffer-display-table)
(setq buffer-display-table (make-display-table)))
(aset buffer-display-table 8211 `[,glyph-en-dash])
(aset buffer-display-table 8212 `[,glyph-em-dash]))
Вот обновленный пример , который эффективно присоединяет дефис-минус и добавляет цвета - то есть, то 8211
визуально становится --
с , font-lock-keyword-face
как окрашивание; причем, 8212
визуально становится ---
с font-lock-function-name-face
как окраской.
(let ((glyph-en-dash (make-glyph-code ?\u002D 'font-lock-keyword-face))
(glyph-em-dash (make-glyph-code ?\u002D 'font-lock-function-name-face)) )
(when (not buffer-display-table)
(setq buffer-display-table (make-display-table)))
(aset buffer-display-table 8211 `[,glyph-en-dash ,glyph-en-dash])
(aset buffer-display-table 8212 `[,glyph-em-dash ,glyph-em-dash ,glyph-em-dash]))
--
и em-dash ---
с отличным лицом, например, жирным красным, чтобы пользователь знал, что emacs отобразил их по-другому?
8211
как --
с font-lock-keyword-face
; и 8212
как ---
с font-lock-function-name-face
.
Чтобы процитировать документы:
C-x =запускает команду
what-cursor-position
, которая является интерактивной скомпилированной функцией Lisp вsimple.el
.Это связано с C-x =.
(what-cursor-position &optional DETAIL)
Распечатать информацию о позиции курсора (на экране и в буфере). Также опишите символ после точки и укажите его код в восьмеричном, десятичном и шестнадцатеричном виде.
Для многобайтового символа, не входящего в ASCII, также укажите его кодирование в выбранной системе кодирования буфера, если система кодирования безопасно кодирует символ. Если символ закодирован в один байт, этот код отображается в шестнадцатеричном виде. Если символ закодирован в более чем один байт, отображается только «...».
Кроме того, с аргументом префикса, показать подробности об этом символе в буфере * Help *. Смотрите также команду `description-char '.
Акцент и форматирование мое.
Попробуйте запомнить эти коды:
HYPHEN-MINUS
45EN DASH
8211EM DASH
8212Но если вы забудете их, вы можете легко это сделать C-u C-x =, при этом всплывает буфер с дополнительной информацией, включая name:
поле.
HYPHEN-MINUS
это каноническое имя Unicode для простого тире, которое вы обычно можете набрать, нажав клавишу слева от =
клавиши. Это «обычный» тире, используемый везде в программировании.
Используйте библиотеку, highlight-chars.el
чтобы выделить любые символы Unicode, как вы хотите. См. Подсветка символов в Emacs Wiki.
Вы можете использовать команду hc-highlight-chars
для выделения символов четырьмя способами:
[:digit:]
)iso-8859-1
или lao
)hc-highlight-chars
предложит вам выделить персонажа (персонажей) на определенное лицо и лицо, которое будет использоваться для них. (С префиксом arg он невыделен.)
Когда вас попросят выделить символ (ы), вы можете использовать, C-x 8 RET
чтобы выбрать символы Юникода, используя завершение.
--
и---
.org-mode
там, где--
будет отображаться как n-dash, если он не будет заключен в дословное форматирование или форматирование кода=command --some-arg=
.