Mercurial > vim-gutentags
comparison README.md @ 22:4e1b0253f71a
Renamed project to "Gutentags" (thanks Sylvain!).
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 02 Sep 2014 10:31:09 -0700 |
parents | b13e1141aa5c |
children | 5c1baa6007d8 |
comparison
equal
deleted
inserted
replaced
21:1f6ecd4258d7 | 22:4e1b0253f71a |
---|---|
1 | 1 |
2 # Autotags | 2 # Gutentags |
3 | 3 |
4 Autotags is a plugin that takes care of the much needed management of tags | 4 Gutentags is a plugin that takes care of the much needed management of tags |
5 files in Vim. It will (re)generate tag files as you work while staying | 5 files in Vim. It will (re)generate tag files as you work while staying |
6 completely out of your way. It will even do its best to keep those tag files | 6 completely out of your way. It will even do its best to keep those tag files |
7 out of your way too. It has no dependencies and just works. | 7 out of your way too. It has no dependencies and just works. |
8 | 8 |
9 ## How? | 9 ## How? |
10 | 10 |
11 Install Autotags like any other Vim plugin. I recommend something like | 11 Install Gutentags like any other Vim plugin. I recommend something like |
12 [Pathogen][], so you can go: | 12 [Pathogen][], so you can go: |
13 | 13 |
14 cd ~/.vim/bundle | 14 cd ~/.vim/bundle |
15 hg clone https://bitbucket.org/ludovicchabant/vim-autotags | 15 hg clone https://bitbucket.org/ludovicchabant/vim-gutentags |
16 | 16 |
17 Then you only need to do a `:call pathogen#helptags()` to generate the | 17 Then you only need to do a `:call pathogen#helptags()` to generate the |
18 documentation tags (how ironic, eh?) and you can access Autotag's help pages | 18 documentation tags (how ironic, eh?) and you can access Autotag's help pages |
19 with `help autotags`. | 19 with `help gutentags`. |
20 | 20 |
21 | 21 |
22 ## What? | 22 ## What? |
23 | 23 |
24 In order to generate tag files, Autotags will have to figure out what's in | 24 In order to generate tag files, Gutentags will have to figure out what's in |
25 your project. To do this, it will locate well-known project root markers like | 25 your project. To do this, it will locate well-known project root markers like |
26 SCM folders (`.git`, `.hg`, etc.), any custom tags you define (with | 26 SCM folders (`.git`, `.hg`, etc.), any custom tags you define (with |
27 `autotags_project_root`), and even things you may have defined already with | 27 `gutentags_project_root`), and even things you may have defined already with |
28 other plugins, like [CtrlP][]. | 28 other plugins, like [CtrlP][]. |
29 | 29 |
30 If the current file you're editing is found to be in such a project, Autotags | 30 If the current file you're editing is found to be in such a project, Gutentags |
31 will make sure the tag file for that project is up to date. Then, as you work | 31 will make sure the tag file for that project is up to date. Then, as you work |
32 in files in that project, it will partially re-generate the tag file. Every | 32 in files in that project, it will partially re-generate the tag file. Every |
33 time you save, it will silently, in the background, update the tags for that | 33 time you save, it will silently, in the background, update the tags for that |
34 file. | 34 file. |
35 | 35 |
36 Usually, ctags can only append tags to an existing tag file, so Autotags | 36 Usually, ctags can only append tags to an existing tag file, so Gutentags |
37 removes the tags for the current file first, to make sure the tag file is | 37 removes the tags for the current file first, to make sure the tag file is |
38 always consistent with the source code. | 38 always consistent with the source code. |
39 | 39 |
40 Also, Autotags is clever enough to not stumble upon itself by triggering | 40 Also, Gutentags is clever enough to not stumble upon itself by triggering |
41 multiple ctags processes if you save files to fast, or your project is really | 41 multiple ctags processes if you save files to fast, or your project is really |
42 big. | 42 big. |
43 | 43 |
44 | 44 |
45 ## Why? | 45 ## Why? |
46 | 46 |
47 There are some similar Vim plugins out there ("vim-tags", "vim-autotag", | 47 There are some similar Vim plugins out there ("vim-tags", "vim-autotag", |
48 "vim-automatic-ctags", etc.). They all fail on one or more of the requirements | 48 "vim-automatic-ctags", etc.). They all fail on one or more of the requirements |
49 I set for myself with Autotags: | 49 I set for myself with Gutentags: |
50 | 50 |
51 * No other dependency than running Vim: no Python, Ruby, or whatever. | 51 * No other dependency than running Vim: no Python, Ruby, or whatever. |
52 * Cross-platform: should work on at least Mac and Windows. | 52 * Cross-platform: should work on at least Mac and Windows. |
53 * Incremental tags generation: don't re-generate the whole project all the time. | 53 * Incremental tags generation: don't re-generate the whole project all the time. |
54 This may be fine for small projects, but it doesn't scale. | 54 This may be fine for small projects, but it doesn't scale. |
59 and functions. | 59 and functions. |
60 * Automatically create the tag file: you open something from a freshly forked | 60 * Automatically create the tag file: you open something from a freshly forked |
61 project, it should start indexing it automatically, just like in Sublime Text | 61 project, it should start indexing it automatically, just like in Sublime Text |
62 or Visual Studio or any other IDE. | 62 or Visual Studio or any other IDE. |
63 | 63 |
64 I hope Autotags will bring you as much closure as me regarding tag files. I know | 64 I hope Gutentags will bring you as much closure as me regarding tag files. I know |
65 I don't want to have to think about it, and probably neither do you. | 65 I don't want to have to think about it, and probably neither do you. |
66 | 66 |
67 | 67 |
68 [ctrlp]: https://github.com/kien/ctrlp.vim | 68 [ctrlp]: https://github.com/kien/ctrlp.vim |
69 | 69 |