在多项模式下禁用'\ C-x \ C-s'

时间:2012-12-02 04:58:19

标签: emacs elisp

在术语模式下,无需使用 C-x C-s save buffer。所以我想禁用它。我试图在术语模式中定义一个新的绑定来替换它,但是失败了。

(add-hook 'term-mode-hook 
          #'(lambda () 
              (define-key term-mode-map "\C-x\C-s"
                #'(lambda () 
                    (interactive)
                    (message "NO!")))))

感谢任何帮助。感谢

更新:我使用基于术语模式的多学期。

2 个答案:

答案 0 :(得分:2)

正如wvxvw所说,我试过这个并且它有效。将以下内容添加到term-bind-key-alist。谢谢大家。

("\C-x\C-s" . (lambda () 
            (interactive)
            (message "NO!")))

答案 1 :(得分:1)

从代码中删除#'。 它应该工作。但您仍然可以使用“M-x save-buffer”保存缓冲区

更新:

此代码对我有用

(add-hook 'term-mode-hook                                 
          (lambda ()                                           
              (define-key term-mode-map (kbd "C-x C-s")
                (lambda ()                                     
                    (interactive)                         
                    (message "hello world")))))

设置挂钩后,您需要重新加载术语缓冲区。它不适用于现有的缓冲区