如何在emacs中设置按键绑定只在特定模式下生效而不在其他模式下生效

3

如果这是一个愚蠢的问题,我很抱歉,但我已经搜索了几个小时。我希望将某些elisp函数绑定到特定的键绑定,并使这些键绑定根据当前缓冲区所处的模式调用函数。我来举个例子。

(defun sml-create-comment ()
    "Documentation.."
    (interactive)
    (code-to-insert-comment))

我希望将此函数绑定到一个键上,例如'C-c c'。如果我在sml-mode中并且键入了'C-c c',它会创建sml注释;同样地,在c-mode中键入'C-c c'会创建c注释。如果我的表述有误或者这是显而易见的,请见谅。

3
你尝试过使用 comment-dwim (绑定到快捷键 M-; 上)了吗?我可以帮助你翻译需要的内容。 - Stefan
我最终做的是使用lambda函数将此功能添加到sml-mode-hook中。 - Sloth
1个回答

7
(eval-after-load 'sml-mode 
  '(define-key sml-mode-map (kbd "C-c c") 'sml-create-comment))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接