動作確認
OS | APP | ◯✗ |
---|---|---|
CentOS7.5 | Neovim 0.2.2 | ◯ |
macOS High Sierra | MacVim 8.0 | ◯ |
Windows10 | KaoriYa Vim 8.0 | ◯ |
概要
同じ仕様のファイル検索版 → Vim script ファイル検索
Vim script ファイル検索と同様にEditorConfigのようにディレクトリを遡って.tagsファイルを探してセットする
.tagsが見つからなかった時はmake_tas.(sh|bat)探す。見つかった場合は実行するか問い合わせをする
g:ast_autosetが1の時はBufReadのタイミングで自動的にセットされ、一度セットされると自動セットは無効になる
Command
:AST
ディレクトリを遡って.tagsファイルを探して:set tags:ASTMakeTags
ディレクトリを遡ってmake_tags.(sh|bat)を探して実行
例
/Eccube/Controller/Admin/default/TemplateController.php
がカレントバッファの時に:AST
を実行すると下記のファイルを順番に探す
/Eccube/Controller/Admin/default/.tags
/Eccube/Controller/Admin/.tags
/Eccube/Controller/.tags
/Eccube/.tags
/.tags
sh,batの実行
ファイル検索時に.tagsが見つかない時にmake_tags.shかmake_tags.batがカレントディレクトリとルートの間にある場合に問い合わせをする
#linux
execute? [!cd "/Eccube/"; /bin/bash '/Eccube/make_tags.sh']
#Windows
execute? [!D: & cd "D:\Eccube\" & "D:\Eccube\make_tags.bat"]
画像はVim script ファイル検索だが同じ
Setting
~/.vimrc
letg:ast_tagsfile='.tags' "default
letg:ast_autoset=1 "default
letg:ast_mkfile='make_tags.bat' "default windows
letg:ast_mkfile='make_tags.sh' "default linux
make_tag
\ctags -R--exclude=.git --exclude=node_modules --languages=PHP --langmap=PHP:.php --php-types=c+f+d -f .tags .
GitHub
https://github.com/naoyuki1019/vim-autosettags
同じ仕様のファイル検索版
https://github.com/naoyuki1019/vim-quickfilesearch2