yasnippet的 Tab 键绑定经常会覆盖其他有用的键。
有没有办法禁用Yasnippet的 Tab 绑定以启用其他 Tab 用法?
答案 0 :(得分:9)
这些将删除yasnippet的键绑定:
(define-key yas-minor-mode-map [(tab)] nil)
(define-key yas-minor-mode-map (kbd "TAB") nil)
应该有效。或者您可以将tab
绑定到另一个命令。
答案 1 :(得分: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)
答案 2 :(得分:1)
使用use-package
:
(use-package yasnippet
:demand t
:bind (:map yas-minor-mode-map
("TAB" . nil)
("<tab>" . nil))
:config
(yas-global-mode))
答案 3 :(得分:-1)
(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)