etags-select首先列出所有候选的tag定义位置,然后由用户选择其中一个;而不像etags那样每次跳到其中一个定义,如果用户发现不是自己想要的结果,则继续往下跳。
etags-select
有一个缺陷,不能处理included tags file,如Emacs Lisp的tags文件TAGS-LISP
。不过,如果想弥补它也很容易,只需重定义其中一个函数即可。
(defun etags-select-get-tag-files () "Get tag files." (if etags-select-use-xemacs-etags-p (buffer-tag-table-list) (mapcar 'tags-expand-table-name tags-table-list) (tags-table-check-computed-list) tags-table-computed-list))