【发布时间】:2012-10-24 03:06:35
【问题描述】:
当我在 emacs 中将标签添加到 .tex 文件时,我曾经重新加载文件以使其显示在 RefTeX 中。即 C-c ) 除非我重新加载文件,否则不会有新标签。
经过一番搜索,我发现 C-u C-c ) 在尝试引用之前会刷新 RefTeX。这可以按我的意愿工作,但我想对这个命令使用 C-c r 而不是每次都输入 C-u C-c )。我该怎么做?
谢谢, 吉姆
【问题讨论】:
当我在 emacs 中将标签添加到 .tex 文件时,我曾经重新加载文件以使其显示在 RefTeX 中。即 C-c ) 除非我重新加载文件,否则不会有新标签。
经过一番搜索,我发现 C-u C-c ) 在尝试引用之前会刷新 RefTeX。这可以按我的意愿工作,但我想对这个命令使用 C-c r 而不是每次都输入 C-u C-c )。我该怎么做?
谢谢, 吉姆
【问题讨论】:
我不使用 reftex,但据我所知,您只想定义一个绑定:
(define-key reftex-mode-map (kbd "C-c r") 'reftex-reference)
【讨论】:
基于奥列格的回答:
如果这就是你所追求的,也许最好已经给它提供 C-u 参数:
(defun call-reftex-reference-directly ()
(interactive)
(let ((current-prefix-arg 4)) ;; emulate C-u
(call-interactively 'reftex-reference) ;; invoke reftex-reference
)
)
(define-key reftex-mode-map (kbd "C-c r") 'call-reftex-reference-directly)
如果这对你有用,不妨试试?
【讨论】:
您可以在标签选择缓冲区中键入r 以刷新它而无需重新加载文件。刷新是即时的(除非您有非常大/非常多的链接文件)。
【讨论】: