А вот такой вопрос... Если, например, я пишу в vimrc
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/qt4 .<CR>
То при нажатии F12 vim выводит окно с сообщениями, потом просит нажать Enter, что не есть удобно, если база данных большая (как в случае с Qt). Можно ли сделать так, чтобы:
1) ctags запускался в фоновом режиме, то есть чтобы можно было продолжать работу с вимом; пробовал поставить & после команды, но не помогает
2) когда выполнение команды завершается, в строке статуса выводилось сообщение о том, что команда XXX выполнена
И еще... Наткнулся на сайте вима на скрипт gtags, который использует GNU GLOBAL tag system. Что это вообще за система такая и лучше ли она, чем ctags? Кто пользовался?
запуск скриптов в фоне
Модератор: /dev/random
запуск скриптов в фоне
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Re: запуск скриптов в фоне
tags для qt, stl, boost и т.п. лучше делать один раз, а потом просто подключать
:set tags=tags,/home/user/tags/qttags
:set tags+=/home/user/tags/stltags
чтобы не отвлекаться на построение тегов я добавил в cron команду make_tags.sh
PS
GNU Global tags пользовался для симпатишного просмотра кода в броузере - куча ссылочек на функции, объявления и т.п., если есть cgi, то и поиск по проекту простой. Оказалось удобно, когда код смотришь большей частью чужой и не для исправления, а для понимания как оно работает. Впрочем осилив tags в vim'е от gtags отказался.
:set tags=tags,/home/user/tags/qttags
:set tags+=/home/user/tags/stltags
чтобы не отвлекаться на построение тегов я добавил в cron команду make_tags.sh
Код: Выделить всё
#!/bin/sh
DIRS='pr1 pr2 pr3'
for i in $DIRS;
do
cd $i
/usr/local/bin/ctags -R --c++-kinds=+p --fields=+ianS --extra=+q .
done
PS
GNU Global tags пользовался для симпатишного просмотра кода в броузере - куча ссылочек на функции, объявления и т.п., если есть cgi, то и поиск по проекту простой. Оказалось удобно, когда код смотришь большей частью чужой и не для исправления, а для понимания как оно работает. Впрочем осилив tags в vim'е от gtags отказался.
slackware - linux for human brains
Re: запуск скриптов в фоне
nonstop, спасибо.
Но если я все же хочу сделать автоматическое обновление базы при сохранении файла (как в Eclipse, например), неужели мне постоянно придется смотреть на вывод, а потом давить Enter?
Но если я все же хочу сделать автоматическое обновление базы при сохранении файла (как в Eclipse, например), неужели мне постоянно придется смотреть на вывод, а потом давить Enter?
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Re: запуск скриптов в фоне
map <C-F12> :exe "silent !ctags -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/qt4" | redraw!<C-m>
или
map <C-F12> :silent !ctags -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/qt4<C-m>:redraw!<C-m>
Без redraw! получим черный экран. Должно работать.
Еще обнаружил, что :redraw!<C-m> заменяется на <C-L>