mac下安装exuberant ctags

mac 下自带ctags但是功能有限,要使用一些常用的功能需要安装exuberant ctags

  • 下载exuberant ctags
  • 安装exuberant ctags

    ./configure
    make
    sudo make install

  • 更改PATH,用exuberant ctags替代自带的ctags,在.bash_profile中添加

    export PATH=/usr/local/bin/:$PATH

配置ctags

ctags在查找函数时非常方便,但是对Javascript支持的不是很好,可以进行简单的配置使其生效。

  • 创建.ctags文件

    touch ~/.ctags

  • 编辑.ctags,填充以下内容
    --regex-JavaScript=/(^|^[^\/*]+[[:blank:]])([A-Za-z0-9._$]+)[[:blank:]]*[:=][[:blank:]]*new[[:blank:]]+Object\(/\2/o,object/
--regex-JavaScript=/(^|^[^\/*]+[[:blank:]])([A-Za-z0-9._$]+)[[:blank:]]*[:=][[:blank:]]*\{/\2/o,object/
--regex-JavaScript=/(^|^[^\/*]+[[:blank:]])(^[^\?][[:blank:]]*)([A-Za-z0-9_]+)[[:blank:]]*[:][[:blank:]]*[A-Za-z0-9._$'"()]+/\3/m,member/
--regex-JavaScript=/(^|^[^\/*]+[[:blank:]])([A-Za-z0-9._$]+)[[:blank:]]*[:=][[:blank:]]*new[[:blank:]]+Array\(/\2/a,array/
--regex-JavaScript=/(^|^[^\/*]+[[:blank:]])([A-Za-z0-9._$]+)[[:blank:]]*[:=][[:blank:]]*\[/\2/a,array/
--regex-JavaScript=/(^|^[^\/*]+[[:blank:]])([^! ]+[^= ]+)[[:blank:]]*=[[:blank:]]*[^""]'[^'']*/\2/s,string/
--regex-JavaScript=/(^|^[^\/*]+[[:blank:]])([A-Za-z0-9._$()]+)[[:blank:]]*[:=][[:blank:]]*function[[:blank:]]*\(/\2/f,function/
--regex-JavaScript=/(^|^[^\/*]+[[:blank:]])function[[:blank:]]+([A-Za-z0-9._$]+)[[:blank:]]*([^)])/\2/f,function/

some Tips about ctags

  • 使用ctr + ] 可以跳转到目标函数
  • 使用ctr + o 或 ctr + t 可以跳转回之前的文件

最新文章

  1. GIT 版本控制常用命令学习汇总
  2. Atitit 多继承实现解决方案 java c#
  3. Spring第12篇—— Spring对Hibernate的SessionFactory的集成功能
  4. hdu 5150 Sum Sum Sum 水
  5. [cocos2d] 谁摸了我一下----触摸事件处理
  6. (转载)javascript实现弹出对话框
  7. Python一路走来 RabbitMQ
  8. 【leetcode】Merge Sorted Array(合并两个有序数组到其中一个数组中)
  9. php不同形式的实现a-z的26个字母的输出
  10. SQL优化策略高级优化经常使用-1(The Return Of The King)
  11. R + ggplot2 Graph Catalog(转)
  12. JAVA 数组作为方法参数—传递地址
  13. 20. Valid Parentheses ★
  14. istio prometheus预警Prometheus AlertManager
  15. jquery如何获取元素的滚动高度
  16. python内存泄漏
  17. TCP协议 状态解析和状态统计
  18. C/C++——二维数组与指针、指针数组、数组指针(行指针)、二级指针的用法
  19. 面向对象的JavaScript-005-Function.prototype.call()的3种作用
  20. JS中的“==”与强制类型转换

热门文章

  1. Spring 中设置依赖注入
  2. BZOJ 1854 游戏
  3. JqueryUI 为什么TypeError: $(...).slides is not a function
  4. Linux下修改MySQL编码的方法
  5. lc面试准备:Repeated DNA Sequences
  6. Linux Shell编程(29)——函数
  7. js中State模式的解析及运用
  8. Myriad2 简介
  9. win2008 ent r2 开启端口
  10. 钥匙计数之一 - HDU 1438(状态压缩打表)