Мои проекты находятся в папке / srv / http / dev.Я создал файл ctags для одного проекта:
$ ctags -R --languages=php .
Теперь я установил путь ctags:
:set tags=/srv/http/dev/proj/tags
И он работает нормально.
Но у меня много проектов в dev/ папка.Как я могу установить ctags в файле .vimrc?set tags=tags
не работает должным образом.
И я хотел бы создать файл тегов, нажав горячую клавишу в выбранной папке NERDTree.Я попытался:
nmap <silent> <F4>
\ :!ctags -R
\ --languages=php .<CR>
Но он создает файл тегов в домашней папке и показывает предупреждения о сканировании домашней папки ..
РЕДАКТИРОВАТЬ: Как @Alexandru Plugaru посоветовал мнеиспользуйте функцию g: NERDTreeFileNode.GetSelected ().
Я просто новичок в vim, поэтому у меня есть еще один вопрос.Я добавил в свой файл .vimrc:
function createTags()
let curNodePath = g:NERDTreeFileNode.GetSelected().path.str
exec ':!ctags -R --languages=php ' . curNodePath
endfunction
nmap <silent> <F4> :execute createTags()<CR>
Но, нажав на F4, я вижу:
E117: Unknown function: createTags
E15: Invalid expression: createTags
РЕДАКТИРОВАТЬ 2: Благодаря @Alexandru Plugaru Iполучил это:
function CreateTags()
let curNodePath = g:NERDTreeFileNode.GetSelected().path.str()
exec ':!ctags -R --languages=php -f ' . curNodePath . '/tags ' . curNodePath
endfunction
nmap <silent> <F4> :call CreateTags()<CR>
И это работает!При нажатии F4 я получаю файл тегов в папке проекта.