取消设置yasnippet的'Tab'绑定?

Han*_*Sun 6 emacs yasnippet emacs-prelude

Tabyasnippet 的键绑定通常会覆盖其他有用的键.

有没有办法禁用TabYasnippet的绑定以启用其他Tab用法?

sta*_*low 9

这些将删除yasnippet的键绑定:

(define-key yas-minor-mode-map [(tab)] nil)
(define-key yas-minor-mode-map (kbd "TAB") nil)
Run Code Online (Sandbox Code Playgroud)

应该管用.或者您可以绑定tab到另一个命令.

  • 它实际上不起作用,我也试过(setq yas/trigger-key nil)也行不通,我想为yasnippet禁用TAB,为什么它如此困难? (2认同)

mig*_*elg 5

我迟到了,但是在这个问题中找到了接受的答案......这个问题没有用.

实验了一下,终于找到了解决方案.认为我应该贡献的是一个答案的工作:

;; It is crucial you first activate yasnippet's global mode.
(yas/global-mode 1)

;; The following is optional.
(define-key yas-minor-mode-map [backtab]     'yas-expand)

;; Strangely, just redefining one of the variations below won't work.
;; All rebinds seem to be needed.
(define-key yas-minor-mode-map [(tab)]        nil)
(define-key yas-minor-mode-map (kbd "TAB")    nil)
(define-key yas-minor-mode-map (kbd "<tab>")  nil)
Run Code Online (Sandbox Code Playgroud)