emacs - 在 Emacs-AUCTeX 中更改单词的格式而不实际选择它

标签 emacs lisp auctex

现代文字处理器的一个不错的功能是可以在不实际选择单词的情况下更改单词的格式(例如,从罗马体到斜体);只需要将文本光标放在单词中并告诉文字处理器(通过键盘快捷键)更改其格式。 (智能编辑,我相信它有时被称为。)

在 Emacs-AUCTeX 中有没有办法做到这一点? (更改格式的通常方法——即插入格式命令——是选择单词[标记其区域],然后按命令的组合键[例如 C-c C-f C-i 插入 \textit{}].)

最佳答案

快捷方式 C-c C-f 调用 TeX-font。然后它强调/斜体化/随便什么, 基于最后的关键和弦。所以解决方案是建议这个功能:

(defvar TeX-font-current-word t)

(defadvice TeX-font (before TeX-font-word (replace what))
  "If nothing is selected and `TeX-font-current-word' is not nil,
mark current word before calling `TeX-font'."
  (when (and TeX-font-current-word 
             (not replace)
             (not (region-active-p))
             (not (looking-at "\\s-")))
    (unless (looking-back "\\s-") (backward-word))
    (mark-word)))

(ad-activate 'TeX-font)

现在,当没有选择区域时,TeX-font 将像当前单词一样工作 被选中。您可以通过将 TeX-font-current-word 设置为 t/nil 来打开/关闭此行为。

关于emacs - 在 Emacs-AUCTeX 中更改单词的格式而不实际选择它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18554863/

相关文章:

python - 如何使用 IPython 作为我的 Emacs Python 解释器?

emacs - 当我以 HTML 模式保存文件时,如何阻止 Emacs 启动浏览器?

regex - 如何让 emacs 正则表达式识别带行号和不带行号的路径

bash - 单个文件的特殊 Emacs 设置 : Run lisp code at startup from command line

functional-programming - Lisp - 逻辑运算符

lisp - 修改函数的参数

loops - Lisp:在循环中收集多个列表

emacs - 在 Auctex 的 LaTeX 模式下使用 grep 的下一个错误和上一个错误键绑定(bind)

emacs ispell 在 Latex 引号上中断

emacs - 如何禁用auctex字体化,而不会丢失颜色突出显示?