Ⅰ. 插件描述
Automatically discover and "properly" update ctags files on saveⅡ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'craigemery/autotag'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'craigemery/autotag'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'craigemery/autotag'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/craigemery/vim-autotag
Ⅳ. 文档说明
autotag.vim
If you use ctags to make tags files of your source, it's nice to be able to re-run ctags on a source file when you save it.
However, using ctags -a
will only change existing entries in a tags file or add new ones. It doesn't delete entries that no longer exist. Should you delete an entity from your source file that's represented by an entry in a tags file, that entry will remain after calling ctags -a
.
This python function will do two things:
1) It will search for a tags file starting in the directory where your source file resides and moving up a directory at a time until it either finds one or runs out of directories to try.
2) Should it find a tags file, it will then delete all entries in said tags file referencing the source file you've just saved and then execute ctags -a
on that source file using the relative path to the source file from the tags file.
This way, every time you save a file, your tags file will be seamlessly updated.
Installation
Currently I suggest you use Vundle and install as a normal Bundle
From the Vim command-line
:BundleInstall 'craigemery/vim-autotag'
And add to your ~/.vimrc
Bundle 'craigemery/vim-autotag'
Or you can manually install
cd
git clone git://github.com/craigemery/vim-autotag.git
cd ~/.vim/
mkdir -p plugin
cp ~/vim-autotag.git/plugin/autotag.vim plugin/
Install as a Pathogen bundle
git clone git://github.com/craigemery/vim-autotag.git ~/.vim/bundle/vim-autotag
Configuration
Autotag can be configured using the following global variables:
Name | Purpose |
---|---|
g:autotagmaxTagsFileSize | a cap on what size (in bytes) tag file to strip etc |
g:autotagExcludeSuffixes | suffixes to not ctags on |
g:autotagVerbosityLevel | logging verbosity (as in Python logging module) |
g:autotagCtagsCmd | name of ctags command |
g:autotagTagsFile | name of tags file to look for |
g:autotagDisabled | Disable autotag (enable by setting to any non-blank value) |
g:autotagStopAt | stop looking for a tags file (and make one) at this directory (defaults to $HOME) |
These can be overridden with buffer specific ones. b: instead of g:
Example:
let g:autotagTagsFile=".tags"
Self-Promotion
Like autotag.vim? Follow the repository on
GitHub and vote for it on
vim.org. And if
you're feeling especially charitable, follow [craigemery] on
GitHub.
License
Copyright (c) Craig Emery. Distributed under the same terms as Vim itself.
See :help license
.