← Back to Upcase

How to automatically update tag file?


(Samnang Chhun) #1

I would to know from your experiences on using Vim how do you manage to maintain tags file of a Rails project up to date while you are writing codes(renaming methods, adding new methods) in Vim? Or you just run ctags by manually when it’s out of sync?


(Geoff Harcourt) #2

@samnang, this is the best system I’ve seen to do this:
http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html

It’s Tim Pope ™ approved, and requires a little bit of one-time upfront set up on your machine, but then handles every git repo on your system automatically.

I would recommend continuing to have a ctags alias in zsh and vim for refresh, because the above approach happens when you commit, so you might want to refresh your tags between commits.


(Ben Orenstein) #3

Our own @christoomey wrote this: https://github.com/christoomey/alt-ctags


(Chris Toomey) #4

Thanks for the mention @benorenstein, but credit is actually due to @pat as my repo is just a fork of his: https://github.com/pbrisbin/vim-alt-ctags. Overall I’ve found it to be a solid solution, but do make sure you configure it to ignore your home directory and dotfiles as they can cause timeouts.

The plugin will run Ctags on Vim’s Bufenter event. If you want more frequent updates you could hook it up to run on each write with:

Plugin 'pbrisbin/alt-ctags'
autocmd BufWritePost * Ctags

I’ve toyed with a few other approaches, but @pat’s alt-ctags is the best and simplest solution I’ve found yet.


(pat brisbin) #5

FWIW: I’ve actually switched to (a small variation) on the tpope method.