如何在emacs中为特定模式绑定密钥?

如何在emacs中为特定模式绑定密钥?,emacs,key-bindings,Emacs,Key Bindings,解释如何将键绑定到特定命令或文本输入 但是,如果我只想为特定模式(比如LaTeX模式)绑定,该怎么办 具体来说,在LaTeX模式下,我希望在 按下Ctrl-{,然后输入\endgroup 按下Ctrl-} 我从 但它似乎不起作用。latex模式是tex模式的别名。您还需要退出\ 我想你要做的是: (eval-after-load 'tex-mode '(define-key latex-mode-map (kbd "C-{") "\\begingroup")) latex模式是tex模式的

解释如何将键绑定到特定命令或文本输入

但是,如果我只想为特定模式(比如LaTeX模式)绑定,该怎么办

具体来说,在LaTeX模式下,我希望在 按下
Ctrl-{
,然后输入
\endgroup
按下
Ctrl-}

我从


但它似乎不起作用。

latex模式是tex模式的别名。您还需要退出
\
我想你要做的是:

(eval-after-load 'tex-mode
  '(define-key latex-mode-map (kbd "C-{") "\\begingroup"))

latex模式是tex模式的别名。您还需要退出
\
我想你要做的是:

(eval-after-load 'tex-mode
  '(define-key latex-mode-map (kbd "C-{") "\\begingroup"))

不,它不起作用。此外,C-HK表示C-{未定义。如果我激活latex模式并对C-{执行“C-HK”,则我得到
C-{运行命令“\\begingroup”,这是一个键盘宏。
这就是我所做的。1)将代码放入~/.emacs。2)关闭emacs并从.tex文件开始(我也可以简单地加载.emacs文件)。这将启动LaTeX模式。3)现在,如果我按C-{,emacs会说C-{未定义。如果我按C-h k C-{,我会收到相同的消息。我可能会丢失什么?(我使用,与此有关吗?
(定义键LaTeX模式映射(kbd“C-{”)“\\begingroup”)
,改编自解决了我的问题。eval-after-load就在那里,在加载latex模式时执行“define”键,而不是更早。因此您不一定需要它。因为我不知道AucTex,我的猜测是
(加载'auctex…
后求值。变量是区分大小写的,所以这可能就是为什么它不能立即使用auctex模式并映射击键。不,它不能工作。此外,C-hk表示C-{未定义。如果我激活latex模式并对C-{执行'C-hk',则我得到
C-{运行命令“\\begingroup”,这是一个键盘宏。
这是我所做的。1)将代码放入~/.emacs。2)关闭emacs并从一个.tex文件开始(我也可以简单地加载.emacs文件)。这将启动LaTeX模式。3)现在如果我按C-{,emacs说C-{未定义。如果我按C-h k C-{,我会收到相同的消息。我可能会丢失什么?(我使用,与此有关吗?
(定义键LaTeX模式映射(kbd“C-{”)“\\begingroup”)
,根据解决的问题改编。eval-after-load就在那里,在加载LaTeX模式时执行“定义键”,而不是更早。因此,您不需要它。因为我不知道AucTex,我的猜测是
(加载'auctex…
后求值。变量区分大小写,因此,这可能就是为什么它不能立即在auctex模式下工作并映射击键的原因。