현재 emacs는 합자를 지원하지 않습니다 (OSX에서는 지원이 있지만 다른 플랫폼에서는 지원되지 않습니다). 그러나 emacs 24.4+는 prettify-symbols-mode
어떤 방식으로 일반 합자 지원보다 낫습니다.
이 모드에서는 글리프가있는 정규식을 표시하기 위해 대체 할 수 있습니다. 나는 개인적 으로이 스 니펫 을 사용하여 Fira Code 합자가 Linux의 emacs에서 작동하도록합니다. (편집 : 불행히도 링크가 이제 죽었습니다. 항상 인라인을 복사하는 stackoverflow 정책은 분명히 좋은 것입니다 ...)
처음에 넣은 링크는 죽었고 포함 된 내용이 확실하지 않지만 다음 링크가 좋을 것이라고 생각합니다.
https://github.com/tonsky/FiraCode/wiki/Emacs-instructions#using-prettify-symbols and https://github.com/tonsky/FiraCode/issues/312#issuecomment-262878734
데드 링크 문제가 발생하면 이번에는 코드를 인라인으로 넣습니다.
(defun fira-code-mode--make-alist (list)
"Generate prettify-symbols alist from LIST."
(let ((idx -1))
(mapcar
(lambda (s)
(setq idx (1+ idx))
(let* ((code (+ #Xe100 idx))
(width (string-width s))
(prefix ())
(suffix '(?\s (Br . Br)))
(n 1))
(while (< n width)
(setq prefix (append prefix '(?\s (Br . Bl))))
(setq n (1+ n)))
(cons s (append prefix suffix (list (decode-char 'ucs code))))))
list)))
(defconst fira-code-mode--ligatures
'("www" "**" "***" "**/" "*>" "*/" "\\\\" "\\\\\\"
"{-" "[]" "::" ":::" ":=" "!!" "!=" "!==" "-}"
"--" "---" "-->" "->" "->>" "-<" "-<<" "-~"
"#{" "#[" "##" "###" "####" "#(" "#?" "#_" "#_("
".-" ".=" ".." "..<" "..." "?=" "??" ";;" "/*"
"/**" "/=" "/==" "/>" "//" "///" "&&" "||" "||="
"|=" "|>" "^=" "$>" "++" "+++" "+>" "=:=" "=="
"===" "==>" "=>" "=>>" "<=" "=<<" "=/=" ">-" ">="
">=>" ">>" ">>-" ">>=" ">>>" "<*" "<*>" "<|" "<|>"
"<$" "<$>" "<!--" "<-" "<--" "<->" "<+" "<+>" "<="
"<==" "<=>" "<=<" "<>" "<<" "<<-" "<<=" "<<<" "<~"
"<~~" "</" "</>" "~@" "~-" "~=" "~>" "~~" "~~>" "%%"
"x" ":" "+" "+" "*"))
(defvar fira-code-mode--old-prettify-alist)
(defun fira-code-mode--enable ()
"Enable Fira Code ligatures in current buffer."
(setq-local fira-code-mode--old-prettify-alist prettify-symbols-alist)
(setq-local prettify-symbols-alist (append (fira-code-mode--make-alist fira-code-mode--ligatures) fira-code-mode--old-prettify-alist))
(prettify-symbols-mode t))
(defun fira-code-mode--disable ()
"Disable Fira Code ligatures in current buffer."
(setq-local prettify-symbols-alist fira-code-mode--old-prettify-alist)
(prettify-symbols-mode -1))
(define-minor-mode fira-code-mode
"Fira Code ligatures minor mode"
:lighter " Fira Code"
(setq-local prettify-symbols-unprettify-at-point 'right-edge)
(if fira-code-mode
(fira-code-mode--enable)
(fira-code-mode--disable)))
(defun fira-code-mode--setup ()
"Setup Fira Code Symbols"
(set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol"))
(provide 'fira-code-mode)
나는 어떤면에서 이것이 정상적인 합자보다 낫다고 말했다. 그것은 "단품"이기 때문이다. 당신은 혼합하고 일치시킬 수 있습니다, 당신이 좋아하는 기호를 취할 수 있습니다. 당신은 말할 수 있습니다, ";;" 합자, 다음 문자가 다시 ";"인 경우 제외 이 경우에 나는 그것을 원하지 않습니다 ... 그리고 믹스 앤 매치에 대해 ... 나는 'Fira Code'합자와 함께 'Fira Mono'글꼴을 사용하고 있습니다. 전체 글꼴로 구매할 필요는 없습니다.
기본적으로 작동하지 않기 때문에 글꼴을 특정 방식으로 조정해야하기 때문에 순수한 합자보다 더 나쁩니다.