-->

取消设置“选项卡”为yasnippet结合?(Unset 'Tab' binding

2019-07-17 15:19发布

yasnippet的选项卡键联结往往会覆盖其他有用的按键。

有没有一种方法来禁用标签 Yasnippet的结合,使其他标签的使用?

Answer 1:

这将消除yasnippet的键绑定:

(define-key yas-minor-mode-map [(tab)] nil)
(define-key yas-minor-mode-map (kbd "TAB") nil)

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



Answer 2:

我党晚,但临到在这个问题上,其接受的答案...没有工作。

试验了一下,终于找到了解决办法。 认为我应该贡献, 工作的一个答案:

;; 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)


Answer 3:

随着use-package

(use-package yasnippet
  :demand t
  :bind (:map yas-minor-mode-map
         ("TAB" . nil)
         ("<tab>" . nil))
  :config
  (yas-global-mode))


Answer 4:

(setq yas-minor-mode-map ;This MUST before (require 'yasnippet)
  (let ((map (make-sparse-keymap)))
    (define-key map (kbd "M-i") 'yas-expand)
    (define-key map "\C-c&\C-n" 'yas-new-snippet)
    (define-key map "\C-c&\C-v" 'yas-visit-snippet-file)
    map)) 

(require 'yasnippet)


文章来源: Unset 'Tab' binding for yasnippet?