Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim script でCtagsの実行とセット

$
0
0

動作確認

OSAPP◯✗
CentOS7.5Neovim 0.2.2
macOS High SierraMacVim 8.0
Windows10KaoriYa 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 ファイル検索だが同じ
win.png

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


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>