闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

Vim 配置 Catgs 用于前端开发

2019-01-19 约 1 分钟读完 搬砖秘籍
之前我一直以为ctags是使用Vim开发C++专用,竟然错过了这么强大的工具。看来凡事不能先入为主,以后要引以为戒。 安装 universal-ctags universal-ctags 是一个现代化的ctag实现,本文只介绍使用Vim的安装方法 brew install --HEAD universal-ctags/universal-ctags/universal-ctags 其他系统请参考项目主页:ctags 每次生成ctags文件都要手动run一次命令,这一点也不Vim,当然也有解决方法。 安装vim-gutentags vim-gutentags是一个用于自动生成tag文件的插件。使用vim-plug安装 Plug 'ludovicchabant/vim-gutentags' 配置 如果只是介绍安装方法,那就必要写这篇文章了,安装完成之后还是要针对前端开发的特点手动调教一下。首先我们在任何目录打开文件,都会在目录下生成ctags文件,这样的话对项目代码有入侵性,并不推荐,建议把tag文件写在特定的目录里。可以做如下设置: let g:gutentags_cache_dir = '~/.cachetags' 这样生成的tags文件会统一放在~/.cachetags目录下。另外默认生成的文件名叫tags,也可以根据个从喜好修改: let g:gutentags_ctags_tagfile = '.tags' 这样生成的文件是隐藏文件。另外一个很纠结的问题是有些文件我们并不想让他们生成tags文件,比如node_modules下文件,还有.git目录下的文件。这里有个取巧的方法是根据前文《Vim配置使用FZF》中的方法,把ctags获取文件列表的命令改成ripgrep的搜索,这样就可以自动忽略.gitignore下的文件。如下: let g:gutentags_file_list_command = 'rg --files' 另外有的文件我们也不想让其生成ctags文件,比如*.md、*.svg文件,可以通过universal-ctags的全局配置来配置,这里要注意的是universal-ctags默认的全局配置文件已经不是~/.ctags 和 ./.ctags,而是在 ~/.ctags.d/*.ctags 和 ./.ctags.d/*.ctags。比如我的全局配置文件放在~/.ctags.d/ignore.ctags。简要配置如下 : --exclude=node_modules --exclude=gulp --exclude=.git --exclude=*.md --exclude=*.svg 结合FZF 记得我们在文章《Vim配置使用FZF》中的介绍,FZF是支持ctags的,所以可以做个快捷键配置,如下: map <leader>t :Tags<CR> 这样就可以方便的使用ctrl-]和ctrl-o来进行tag跳转了。 最后分享我的Vim配置:sailor103/neovim-mac,欢迎fork,我感觉还挺好用的:-)