我正在 Debian Wheezy (CrunchBang Waldorf) 上的 Emacs 23.4.1 中阅读“Emacs Lisp Intro”一书。
4.1 节讨论find-tags
命令和TAGS
文件。TAGS
如有必要,其中包含构建/安装文件的说明。
我该如何在 Debian 中执行此操作?我的系统上不存在提到的文件夹,并且我无法找到TAGS
文件。
我不确定我是否安装了 Emacs 源?我使用安装它apt-get
。我的sources.list
文件不包含任何deb-src
相关行。
答案1
daniel@protein:~$ apt-file search {ctags,etags} | grep ctags | grep /usr/bin
emacs23-bin-common: /usr/bin/ctags.emacs23
exuberant-ctags: /usr/bin/ctags-exuberant
我在 ubuntu 上,但我相当确定它们在同一个包中。
要创建该TAGS
文件,您需要这样的内容:
$ find . -type f -iname "*.php" | xargs ctags --declarations
$ find . -type f -iname "*.ctp" | xargs ctags --lang="php" --declarations --append
这两个命令都有非常相似的参数,但请检查手册页以确保。
答案2
这需要安装emacs23-el
Emacs 源代码的包,然后使用以下命令构建TAGS
文件/usr/share/emacs/23.4/lisp
:
$ etags *.el.gz
因为这些文件是.gz
格式化的。但是,find-tags
无法读取这些并尝试读取.el
文件。这个问题可以解决,解释一下这里,将以下内容添加到~/.emacs
:
(require 'jka-compr)
之后,可以输入find-tags
然后mark-whole-buffer
,如问题中提到的“Emacs Lisp Intro”中的示例中所述。
答案3
我在 Fedora 22 上使用 Emacs 24.5.1(通过dnf
[以前的yum
{很像apt-get
}]),对我有用的是导航到/usr/share/emacs/24.5/lisp
并运行:
etags *.el.gz
我不需要做任何进一步的事情来跟随教程。