Всем здравствуйте.
Пытаюсь сделать так, чтобы работать в Vim стало удобнее. Мой коллега все ржет надо мной, что я «в своем Vim» как в каменной пещере: не могу, например, так шустро скакать между вызовами и объявлениями функций, как он в своем любимом SlickEdit; еще Слик очень умело парсит код, и, например, когда пишешь название функции, показывает коммент к этой функции, подсказывает, какие она принимает параметры, и прочее.
То, что в Vim называется omnicompletion, в SlickEdit реализовано гораздо лучше. Например, успешно парсится такой Сишный код:
typedef struct {
int iField1;
int iField2;
} T_MyStruct;
//...
byte abMyArr[200];
((T_MyStruct *)abMyArr)->iField1 = 1;
то есть, когда я напишу "((T_MyStruct *)abMyArr)->", то редактор сразу мне покажет список элеменов структуры: iField1, iField2. Vim такое, конечно, не осилит.
Для эксперимента я даже сделал так:
#define P_MY_STRUCT ((T_MyStruct *)abMyArr)
P_MY_STRUCT->iField1 = 1;
Конечно, на этом список достоинств Слика не оканчивается. В общем, я даже поставил его и попробовал в нем поработать, используя эмуляцию Vim, гы. (эмуляция, конечно, далекоооооо не полная) Да, навигация по проекту в нем превосходная, и вообще, вроде как «все для людей», но, блин, нравится мне Vim!! Уж не знаю, к счастью ли. Но все-таки нравится, поэтому я решил попытаться настроить его так, чтобы работать в нем стало еще приятнее.
На данный момент ключевое: сделать так, чтобы я мог перейти от вызова функции или переменной к ее определению, не парясь с обновлением tags. Это вообще возможно? Единственный известный мне способ: сделать так, чтобы tags обновлялся автоматически, например, раз в минуту. Или еще чаще. Но ведь это тоже нехорошо :( во-первых, генерация tags занимает совсем не микросекунды, а где-то секунду. Каждую минуту комп будет усиленно генерить tags. Ну и во-вторых, вот я редактирую файл, и пока не сохраню изменения, tags будет ссылаться на неверное место в коде. Можно еще и в-третьих припаять: даже когда я сохраню файл, tags обновятся не мгновенно, а как повезет.
А было бы очень здорово, если бы Vim при редактировании запоминал, что где, и юзал бы tags только для неоткрытых файлов. А для открытых хранил бы свою базу тэгов. Это возможно? :'(
Это сделало бы меня почти щасливым..
В общем, поможите, чем можите. Заранее спасибо.