作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我使用 dabbrev-expand
为了扩展,Emacs 搜索当前缓冲区,然后搜索其他具有相同模式的缓冲区。这是由 dabbrev-friend-buffer-function
处理的默认设置为 dabbrev--same-major-mode-p
.
这很好用,但我想使用 hippie-expand
.
(setq hippie-expand-try-functions-list
'(try-expand-dabbrev
try-expand-dabbrev-all-buffers))
hippie-expand
dabbrev 完成仅来自使用与当前缓冲区相同的主要模式的缓冲区?
最佳答案
快速而肮脏的解决方案:复制函数的源代码try-expand-dabbrev-all-buffers
到一个新位置,重命名它(比如)try-expand-dabbrev-all-buffers-same-mode
,并替换表达式 (buffer-list)
用表达式:
(remove-if-not (lambda (x) (eq major-mode (with-current-buffer x major-mode)))
(buffer-list))
(require 'cl)
来获得
remove-if-not
,或者根据
mapcar
和
delq
重新实现它。)
try-expand-dabbrev-all-buffers
与
try-expand-dabbrev-all-buffers-same-mode
在
hippie-expand-try-functions-list
.
try-expand-dabbrev-all-buffers
的来源使用 C-hf。
关于emacs - 在 hippie-expand 中模拟 dabbrev-expand,限制为匹配缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957861/
如果我使用 dabbrev-expand为了扩展,Emacs 搜索当前缓冲区,然后搜索其他具有相同模式的缓冲区。这是由 dabbrev-friend-buffer-function 处理的默认设置为
引用 emacs 帮助,M-/是: (dabbrev-expand ARG) Expand previous word "dynamically". Expands to the most recen
我是一名优秀的程序员,十分优秀!