git404hub

what is ctags fr?

universal-ctags/ctags — explained in plain English

Analysis updated 2026-06-24

7,182CAudience · developerComplexity · 2/5Setup · easy

tl;dr

Universal Ctags is a command-line tool that indexes your source code so editors like Vim and Emacs can instantly jump to function definitions, autocomplete symbol names, and navigate large codebases without searching files manually.

vibe map

mindmap
  root((repo))
    What It Does
      Index source symbols
      Generate tags file
      Support custom parsers
    Editor Support
      Vim
      Emacs
      Other tag-aware editors
    Install Options
      Homebrew Mac
      Windows daily builds
      Snap Linux
    Audience
      Developers
      Editor power users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Generate a tags index for a large C or Python project so Vim can jump to any function definition with a single keystroke

VIBE 2

Define a custom language parser using optlib to index symbols in a language or file format that Universal Ctags does not support by default

VIBE 3

Replace Exuberant Ctags with Universal Ctags in an existing editor setup to get support for more modern languages

what's the stack?

CAutotoolsSnap

how it stacks up fr

universal-ctags/ctagsstanfordnlp/gloveaircrack-ng/aircrack-ng
Stars7,1827,2177,219
LanguageCCC
Setup difficultyeasymoderatemoderate
Complexity2/53/54/5
Audiencedeveloperresearcherops devops

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · easy time til it works · 5min

On Mac install via Homebrew, on Windows use prebuilt daily binaries from the companion project.

in plain english

Universal Ctags is a command-line tool that reads source code files and produces an index, sometimes called a tags file, listing every significant symbol it finds: function names, class definitions, variable declarations, and similar constructs. Text editors and code navigation tools load this index to let users jump directly to where a function is defined, autocomplete symbol names, and search across a codebase without reading files manually. The project is a maintained continuation of an older tool called Exuberant Ctags, which had stopped receiving updates. Universal Ctags picked up where that project left off, adding support for more programming languages, extending the ability to define custom language parsers through a feature called optlib, and keeping up with changes in modern codebases. The tool works by running it against a directory of source files. It outputs a tags file that editors like Vim, Emacs, and many others know how to read. Once the index exists, navigating code becomes faster because the editor can look up a symbol's location in the tags file rather than scanning files one by one. Universal Ctags is written in C and builds using the standard Autotools toolchain on Linux and Mac. On Windows, pre-built daily binaries are available from a companion project. Mac users can install it through Homebrew. There is also a Snap package for Linux distributions that support Snap. If you used Exuberant Ctags before, the README notes a few incompatibilities: the config file location changed from ~/.ctags to ~/.ctags.d/*.ctags, and the rules for valid kind letters and kind names are stricter. A separate document lists the full set of differences between the two versions. The project primarily targets developers who work with editors that support tag-based navigation. It has no graphical interface and no installer wizard, usage is through the command line.

prompts (copy fr)

prompt 1
How do I use Universal Ctags to generate a tags file for my entire project directory and configure Vim to use it for jump-to-definition navigation?
prompt 2
How do I write a custom optlib parser in Universal Ctags to index symbols from a domain-specific file format?
prompt 3
I am migrating from Exuberant Ctags to Universal Ctags, what config file path changes and syntax differences do I need to update to avoid breaking my setup?

Frequently asked questions

what is ctags fr?

Universal Ctags is a command-line tool that indexes your source code so editors like Vim and Emacs can instantly jump to function definitions, autocomplete symbol names, and navigate large codebases without searching files manually.

What language is ctags written in?

Mainly C. The stack also includes C, Autotools, Snap.

How hard is ctags to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is ctags for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.