- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 emacs 中编辑 Mathematica 代码。 Mathematica 对希腊字母的明文表示看起来像
\[Alpha], \[Beta], \[Gamma], ...
我不介意输入这些,但生成的代码又大又笨重,例如:
k[\[Beta]_,z_]:=z^(\[Beta]/2) Hypergeometric2F1[\[Beta]/2,\[Beta]/2,\[Beta],z];
有没有办法让 emacs 自动显示某些字符串(如 \[Alpha]
)作为其他字符串(如 alpha 的 unicode 字符)?请注意,我实际上并不想用另一个字符串替换一个字符串(如果我理解正确的话,这就是缩写词的作用),因为 Mathematica 仍然可以正确读取该文件。
最佳答案
是的,有办法。普通的 Emacs 解决方案是使用 compose-region
函数来实现这一点。此代码段将为您定义一个函数 compose-greek-symbols
,如果字体锁定处于事件状态,它将激活当前缓冲区中请求的缩写替换:
(setq
greek-symbols
(loop
;; characters are entered with `ucs-insert'
;; 'α' is "GREEK SMALL LETTER ALPHA"
for ch from ?α to ?ω
collect (let ((str (get-char-code-property ch 'name)))
(setq str
(upcase-initials
(downcase
(replace-regexp-in-string "greek small letter " "" str))))
(cons str ch))))
(defun compose-greek-symbols ()
(interactive)
(font-lock-add-keywords
nil
'(("\\\\\\[\\([^]]+\\)\\]"
(0 (progn (let
((sym (cdr-safe (assoc (match-string 1) greek-symbols))))
(when sym
(compose-region (match-beginning 0)
(match-end 0)
sym)))))))))
EmacsWiki 提供一对 more solutions .如果你愿意安装新包,你总是可以尝试更复杂的东西,比如 pretty-symbols-mode .
关于仅供显示的 Emacs 缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15558217/
我只想知道如何使文件只对特定组可执行。 我有一个具有此权限的文件 /bin/ping rwxr-xr-x root root 34248 oct 14 2010 /bin/ping 例如,如何使它只对
我在 mysql 中有一个正则表达式,想反转它。但不想使用 NOT REGEXP。否定回顾 (?![something]) 在 mysql 中不起作用。确切地说,我想仅使用 REGEXP 查找不为 -
我有一个应用程序,我们正在使用它来为另一个应用程序提供 API 调用。然而它感觉很重,因为它仍在使用整个 rails ,但我们不使用 View 等... 其他人是如何解决这个问题的,只是删除文件?我所
我是一名优秀的程序员,十分优秀!