可以将Emacs AC模式(自动完成)模式配置为忽略数字吗?

时间:2013-02-08 06:56:27

标签: emacs autocomplete

我在键入文本文件时经常包含数字数据,电话号码等,这会在AC模式下产生烦恼。现在,当我输入“2”时,我得到一个自动完成选项,其中包含我从“2”开始输入的每个数字或数字代码。至少可以说不是很有帮助。

我进去清理了我的ac-comphist.dat,但它又被数字污染了。有没有办法防止这些条目首先被添加,可能使用正则表达式过滤器?我尝试使用整数列表设置变量ac-ignores,但它似乎没有解决问题。

1 个答案:

答案 0 :(得分:3)

我想我从来没有注意到十进制数字,但对于十六进制数字,它真的很烦人。我通过重新定义ac-prefix-default来修复它:

(eval-after-load "auto-complete"
  '(progn
     (defun ac-prefix-default ()
       "Same as `ac-prefix-symbol' but ignore a number prefix."
       (let ((start (ac-prefix-symbol)))
         (when (and start
                  (not (string-match "^\\(?:0[xX][0-9A-Fa-f]+\\|[0-9]+\\)$"
                                     (buffer-substring-no-properties start (point)))))
           start)))
     ))