запуск скриптов в фоне

и другие vi-подобные редакторы

Модератор: /dev/random

Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

запуск скриптов в фоне

Сообщение Atragor »

А вот такой вопрос... Если, например, я пишу в 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? Кто пользовался?
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:

Аватара пользователя
nonstop
Сообщения: 132
ОС: Slackware

Re: запуск скриптов в фоне

Сообщение nonstop »

tags для qt, stl, boost и т.п. лучше делать один раз, а потом просто подключать
: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
Спасибо сказали:

Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

Re: запуск скриптов в фоне

Сообщение Atragor »

nonstop, спасибо.
Но если я все же хочу сделать автоматическое обновление базы при сохранении файла (как в Eclipse, например), неужели мне постоянно придется смотреть на вывод, а потом давить Enter?
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:

Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: запуск скриптов в фоне

Сообщение ZyX »

Atragor писал(а):
17.04.2008 16:19
nonstop, спасибо.
Но если я все же хочу сделать автоматическое обновление базы при сохранении файла (как в Eclipse, например), неужели мне постоянно придется смотреть на вывод, а потом давить Enter?
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>
Спасибо сказали: