Emacs 中的目录名补全

Vim、Emacs配置和使用
回复

你是否需要为补全时忽略的名字写正则表达式?

1
50%
1
50%
 
总计票数: 2
herberteuler
帖子: 45
注册时间: 2007-01-27 14:11

Emacs 中的目录名补全

#1

帖子 herberteuler » 2007-02-07 13:42

Emacs 里的变量 completion-ignored-extensions 是一个列表,用来确定一个文件名或目录名是否会被忽略。如果这个列表里的名字是以斜线结束的,它就是一个目录名;所有和这些名字匹配的名字都会被忽略。

这有些不合理。例如,如果你在 Linux 系统里有个目录 kde.svn,或者在 Windows 系统里有个目录 emacs-cvs,这些名字就会被忽略。有时这不方便。

我准备做一个改进并将它推向上游。在 emacs-devel 上讨论后,我得到了两个解决方案:

[1] 添加一个变量 completion-ignored-names。只有与这个列表里的字符串匹配的名字会被忽略。

[2] 添加一个变量 completion-ignored-names-regexp。只有与这个列表里的正则表达式匹配的名字会被忽略。

很明显,completion-ignored-extensions 和 completion-ignored-names 所能处理的情况仅仅是 completion-ignored-names-regexp 所能处理的情况的子集。但是 [2] 可能是个过度设计:人们也许并不需要补全的正则表达式匹配。

请思考你是否需要这样的匹配方法。这将会影响这个特性的演化。

事先谢过了。
回复