etags 用法

(本文参考http://www.emacs.cn/Doc/Etags,并根据自己的使用情况做了些微修改。)

 

1. etags 基本用法

在emacs里可以用etags命令生成emacs专用的tags文件,有了此文件之后便可以使用一些emacs tags的命令,比如对于编辑C/C++程序的人员可以方便的定位一个函数的定义,或者对函数名进行自动补齐:

 

上述命令可以在当前目录查找所有的.h和.cpp文件并把它们的摘要提取出来做成TAGS文件,具体的etags的用法可以看一下etags的manual。

 

在.emacs中加入这样的语句:

 

 

这样emacs就会自动读取这个tags文件的内容。

 

几个重要的命令。

 

  • M-. 查找一个tag,比如函数定义类型定义等。
  • C-u M-. 查找下一个tag的位置
  • M-* 回到上一次运行M-.前的光标位置。
  • M-TAB 自动补齐函数名。

 

2. 参考:一些整合的快捷键

易于编译和TAGS的使用,搜集自 zslevin 的帖子(LinuxForum GNU Emacs/XEmacs)

 

  • C-f5, 设置编译命令
  • f5, 保存当前窗口然后编译当前窗口文件

 

  • F7, 查找 TAGS 文件(更新 TAGS 表)
  • C-F7, 在当前目录下生成包含所有递归子目录的 TAGS 文件(使用了shell中的find命令)
  • C-. 开个小窗查看光标处的 tag
  • C-, 只留下当前查看代码的窗口(关闭查看 tag 的小窗)
  • M-. 查找光标处的 tag,并跳转
  • M-, 跳回原来查找 tag 的地方
  • C-M-, 提示要查找的 tag,并跳转
  • C-M-. 要匹配的 tag 表达式(系统已定义)
  • Shift-Tab, C/C++ 和 lisp 等模式中补全函数名(一般情况下M-Tab被窗口管理器遮屏了)

 

定义按键,在生成相应 tag 文件时,比如一个目录下所有的 *.cpp 和 *.h 文件使用这样的正则表达式 *.[ch]*,在下面的 C-F7 中可能会用到。

 

 

上面定义的命令需要用到的函数:

 

Etags,英文全称为entity tags即实体标记。在我们用雅虎浏览器工具Yslow时,就有这么一个优化选项,全称为:Configure entity tags (ETags),即配置实体标记,什么是Etags?ETags(Entity tags)是服务器和浏览器的一个功能,它用来判断浏览器缓存里的元素是否和原来服务器上的一致。ETags 比 last-modified date 更具有弹性,它用一个独一无二的字符串来标识一个元素的版本。很多网站丢分都在这里,比如可好网,经过一系列的优化后,首页也只达到B级83分,这其中Etags得分为F(最低级别), Etags原理:Add an Expires header已经对浏览器缓存机制中的Cache-Control和Expires进行了配置,这一条评测的是另外两个:Last-Modified和ETag。简单的说,即使设置了文件的期限,浏览器在访问资源时也会因为Last-Modified和ETag而重新下载整个资源。 那么如何提升级别呢?网上搜索了一些方法,其最好的方法就是将其关闭,关闭方法很简单,即在在Apache中做如下配置: 以下是引用片段: FileETag none 对于使用windows IIS的服务器,则需要使用第三方的DLL文件更有效些,具体使用方法:下载REMEtags,RemEtag.zip,解压到服务器下的文件夹下,再启用ISAPI,即把RemEtag.dll添加到ISAPI应用下运行,再重启IIS即可生效。 步骤如下: 1、进入到IIS服务器(windows 2003)中,可以是独立服务器或者vps主机,解压remEtags.zip到任意文件夹。 2、打开IIS管理器,右键选择网站--->属性--->弹出网站属性对话框,如图: 3、点击添加按钮,弹出添加对话框: 4、单击确定,重启IIS即可 5、打开网站,看看最终结果:配置成功!!这一选项从之前的F,变为A! 网站的yslow v2 的分数也从之前的83分提高到85分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值