Я пытаюсь завершить вкладку во всех открытых буферах, и yasnippet работает с клавишей табуляции. На данный момент я могу иметь и то, и другое. В следующем коде показано, как я обрабатываю расширение yasnippet, но, поскольку я не программист на Лиспе, я не вижу здесь ошибки.
Если он не может расширить фрагмент, я бы хотел, чтобы он попытался расшириться из буфера.
;; Auto complete settings / tab settings
;; http://emacsblog.org/2007/03/12/tab-completion-everywhere/ <-- in the comments
(global-set-key [(tab)] 'smart-tab)
(defun smart-tab ()
"This smart tab is minibuffer compliant: it acts as usual in
the minibuffer. Else, if mark is active, indents region. Else if
point is at the end of a symbol, expands it. Else indents the
current line."
(interactive)
(if (minibufferp)
(unless (minibuffer-complete)
(dabbrev-expand nil))
(if mark-active
(indent-region (region-beginning)
(region-end))
(if (looking-at "\\_>")
(unless (yas/expand)
(dabbrev-expand nil))
(indent-for-tab-command)))))