如果我使用dabbrev-expand
進行擴展,Emacs將搜索當前緩衝區,然後搜索其他具有相同模式的緩衝區。這由dabbrev-friend-buffer-function
處理,默認設置爲dabbrev--same-major-mode-p
。仿真嬉皮擴展中的dabbrev-expand,限制匹配緩衝區
這工作正常,但我想使用hippie-expand
。
(setq hippie-expand-try-functions-list
'(try-expand-dabbrev
try-expand-dabbrev-all-buffers))
這是直接從所有緩衝區的完成,甚至不符合我目前的主要模式的緩衝區。
如何將hippie-expand
與僅使用與當前緩衝區相同的主模式的緩衝區中的dabbrev完成項使用?
好主意。因爲我不打算使用'try-expand-dabbrev-all-buffers',所以我可以使用'defadvice'來根據謂詞創建'(buffer-list)'返回緩衝區。 –
這是我的第一個想法,但建議這樣一個基本功能似乎充滿了我的危險。 – Sean
我同意它可能會出錯(希望很少)。我更新了我的答案,只需調用'try-expand-dabbrev-all-buffers'並重新定義'matching-buffers'即可。 –