ctags是对自己认识的语言(比方说c,java等)生产索引的linux 工具。

这里只是简单的介绍一下ctags的查找功能。

要说查找,必须先说明一个选项:

−−<LANG>−kinds=[+|−]kinds

^

这里的LANG表示ctags自己支持的语言,不如说要查找c文件中的函数这个选项就

变成了--c-kinds=f

假如我要查找当前目录下c文件中的所以函数:

ctags -x --c-kinds=f *.c

下面是在我的虚拟机上运行的结果:

[root@localhost ~]# ctags --version
Exuberant Ctags 5.5.4, Copyright (C) 1996-2003 Darren Hiebert
  Compiled: Jun 16 2004, 19:13:19
  Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
  Optional compiled features: +wildcards, +regex
[root@localhost ~]# ctags --list-languages    //ctags支持的语言
Asm
Asp
Awk
BETA
C
C++
C#
Cobol
Eiffel
Erlang
Fortran
HTML
Java
JavaScript
Lisp
Lua
Make
Pascal
Perl
PHP
Python
REXX
Ruby
Scheme
Sh
SLang
SML
SQL
Tcl
Vera
Verilog
Vim
YACC
[root@localhost ~]# ctags --list-kinds     //不同语言所支持的kind
Asm
    d  defines
    l  labels
    m  macros
    t  types (structs and records)
Asp
    f  functions
    s  subroutines
    v  variables
Awk
    f  functions
BETA
    f  fragment definitions
    p  all patterns [off]
    s  slots (fragment uses)
    v  patterns (virtual or rebound)
C
    c  classes
    d  macro definitions
    e  enumerators (values inside an enumeration)
    f  function definitions
    g  enumeration names
    l  local variables [off]
    m  class, struct, and union members
    n  namespaces
    p  function prototypes [off]
    s  structure names
    t  typedefs
    u  union names
    v  variable definitions
    x  external variable declarations [off]
C++
    c  classes
    d  macro definitions
    e  enumerators (values inside an enumeration)
    f  function definitions
    g  enumeration names
    l  local variables [off]
    m  class, struct, and union members
    n  namespaces
    p  function prototypes [off]
    s  structure names
    t  typedefs
    u  union names
    v  variable definitions
    x  external variable declarations [off]
C#
    c  classes
    d  macro definitions
    e  enumerators (values inside an enumeration)
    E  events
    f  fields
    g  enumeration names
    i  interfaces
    l  local variables [off]
    m  methods
    n  namespaces
    p  properties
    s  structure names
    t  typedefs
Cobol
    d  data items
    f  file descriptions (FD, SD, RD)
    g  group items
    p  paragraphs
    P  program ids
    s  sections
Eiffel
    c  classes
    f  features
    l  local entities [off]
Erlang
    d  macro definitions
    f  functions
    m  modules
    r  record definitions
Fortran
    b  block data
    c  common blocks
    e  entry points
    f  functions
    i  interface contents, generic names, and operators [off]
    k  type and structure components
    l  labels
    L  local, common block, and namelist variables [off]
    m  modules
    n  namelists
    p  programs
    s  subroutines
    t  derived types and structures
    v  program (global) and module variables
HTML
    a  named anchors
    f  JavaScript functions
Java
    c  classes
    f  fields
    i  interfaces
    l  local variables [off]
    m  methods
    p  packages
JavaScript
    f  functions
Lisp
    f  functions
Lua
    f  functions
Make
    m  macros
Pascal
    f  functions
    p  procedures
Perl
    c  constants
    l  labels
    s  subroutines
PHP
    c  classes
    d  constant definitions
    f  functions
    v  variables
Python
    c  classes
    f  functions
    m  class members
REXX
    s  subroutines
Ruby
    c  classes
    f  methods
    F  singleton methods
    m  mixins
Scheme
    f  functions
    s  sets
Sh
    f  functions
SLang
    f  functions
    n  namespaces
SML
    e  exception declarations
    f  function definitions
    c  functor definitions
    s  signature declarations
    r  structure declarations
    t  type definitions
    v  value bindings
SQL
    c  cursors
    d  prototypes [off]
    f  functions
    F  record fields
    l  local variables [off]
    L  block label
    P  packages
    p  procedures
    r  records
    s  subtypes
    t  tables
    T  triggers
    v  variables
Tcl
    c  classes
    m  methods
    p  procedures
Vera
    c  classes
    d  macro definitions
    e  enumerators (values inside an enumeration)
    f  function definitions
    g  enumeration names
    l  local variables [off]
    m  class, struct, and union members
    p  programs
    P  function prototypes [off]
    t  tasks
    T  typedefs
    v  variable definitions
    x  external variable declarations [off]
Verilog
    c  constants (define, parameter, specparam)
    e  events
    f  functions
    m  modules
    n  net data types
    p  ports
    r  register data types
    t  tasks
Vim
    a  autocommand groups
    f  function definitions
    v  variable definitions
YACC
    l  labels
[root@localhost ~]#

ctags中−−−kinds=[+|−]kinds的使用相关推荐

  1. vim+cscope+ctags打造属于自己的IDE

    所谓工欲善其事,必先利其器.作为专业码农,特别是长期在Unix系统上展开工作(查看源代码.coding)的码农,没有一个极致的IDE环境,工作效率会很受影响的.当然啥时候Unix系统如果有Visual ...

  2. vim无法打中文_vim+ctags+cscope+Taglist+Nerdtree打造成sourceinsight

    听说vi很强大?是的,最近笔者需要在Linux下编写一些C代码和查看一些C源码,但是默认的vi并不支持函数之间的跳转.查看函数的定义等等,所以笔者就将vi打造成了一个ide(可以勉强称得上吧).首先我 ...

  3. Vi经典插件ctags(转)

    来源:http://www.cnblogs.com/lihaozy/archive/2012/08/06/2624909.html (为了提高工作效率,必须学会使用一些工具) . 查看 key 相关信 ...

  4. Vim+ctags+cscope+Nerdtree+Taglist入门

    介于linux下并没有什么像Source Insight这样优秀的内核源码阅读工具,只有一些模仿的都不伦不类,所以我用打造vim为一个合格的源码阅读器,看着贼爽. 可能一下子看起来那么多东西可能怕怕的 ...

  5. ctags 的最简单使用

    vim插件ctags的安装和使用 2013-11-19 20:47 17109人阅读 评论(0) 收藏 举报  分类: 开发工具(3)  linux编程(9)  c/c++编程(11)  版权声明:本 ...

  6. ubuntu ctags php,Ubuntu下创建vim+Taglist+cscope+ctags组合编辑器

    有人抱怨Linux系统下没有类似于VC之类的方便快捷的编辑器,有人用gedit, 有人用vim,但是都不方便而且也没有自动补全之类的方便用户的功能.本文简单介绍使用vim中的几个插件(Ctags.Cs ...

  7. Linux中 vim 实现代码补全

    Linux中 vim 实现代码补全 vim 中代码补全 步骤1:判断 步骤2:安装 `OmniCppComplete` 步骤3: 步骤4:些许其他操作 结果 利用 Tab 键进行补全 vim 中代码补 ...

  8. Windows10下用vim+ctags+cscope搭建属于自己的IDE

    工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.估计大家经常用的IDE工具如SourceInsight,Notepad++,VScode等等.SourceInsight属于收费软件,其 ...

  9. VIM插件配置——ctags/taglist/omnicppcomplete/winmanager

    VIM的功能强大并不仅仅表现在支持很多快捷方式上,还有很多各种各样的插件,帮助你实现各种功能,方便你编码.这些插件还都是免费开放的,需要的人可以方便的下载到. 1. Ctags Ctags可以扫描指定 ...

最新文章

  1. 利用.htaccess绑定子域名到子目录(亲测万网可用)
  2. SpringBoot学习笔记:Spring Data Jpa的使用
  3. 华为荣耀电脑第三方linux,【第三方Linux版】荣耀MagicBook Pro 16.1英寸全面屏如何?某东入手评测...
  4. 中央民族大学计算机考研考什么,中央民族大学电子信息专业硕士研究生入学考试初试科目考试大纲...
  5. ES6 ArrayBuffer 概述
  6. Python Socket编程初探
  7. 9位工作流业内专家联袂推荐
  8. 系统设计拓展:如何设计一个自动阅卷系统(英语/数学)
  9. Bootloader解锁加锁 Android刷机
  10. 支持Apple Music无损音频的耳机型号以及iPhone、iPad
  11. 学好python可以实现财务自由哦—python基础教学(二)
  12. 一个简单的税利计算器(网页版)
  13. d3.js transition无限循环
  14. 科技翻译面面观─ 从计算机领域谈起
  15. 阿里云服务器ECS计算型c6和c6e有什么区别?还有c6a和c6t性能对比
  16. CRNN—(端到端)的OCR文本识别 paper
  17. 解决小程序api为http和豆瓣限制小程序使用api问题
  18. unity3d摄像机
  19. 《现代雷达系统分析与设计》阅读笔记——第一章
  20. zabbix(七)结合qq邮箱和第三方应用监控

热门文章

  1. Unraid配置阿里云加速镜像安装荒野无灯qBittorrent镜像
  2. mysql 查询最多的_MySQL中用通用查询日志找出查询次数最多的语句的教程
  3. iPhone无法连接Wi-Fi解决方法
  4. 损坏的映像 错误0xc0000020
  5. 【论文阅读】SABRE: Protecting Bitcoin against Routing Attacks
  6. 理解Web 3:非事后的想法
  7. 实战 Java 第10天:商品分页查询
  8. 手写 React 第 2 节 - 初探 React 实现机制
  9. 小荷才露尖尖角,和Flutter应用说你好
  10. 此计算机将网络限制为,解决win7无法连接wifi提示“此计算机当前已将连接限制为...”的方法...