On Mi, Apr 22, 2009 at 07:24:36 +0300, Sergei Riaguzov wrote:
> 2009/4/22 Igor Chubin <i...@chub.in>
> 
> On Mi, Apr 22, 2009 at 05:57:33 +0300, Sergei Riaguzov wrote:
> > > Витя меня сюда подписал в связи с тем что я периодически что-то перевожу
> > на
> > > польский (в остальном я незаинтересованное лицо), так что subj, но может
> > > хоть как-то вас использую с пользой ;)
> > >
> > > Может кто-нибудь знает как в виме подставить текущую директорию в
> > "командную
> > > строку вима" (':')?
> >
> >
> > Функция getcwd() вам это вернёт.
> 
> Это конечно полезно и спасибо!
> 
> Но что если у меня ctags/cscope сгенерированы в $path и pw=$path, а файлы я
> по большей части редактирую в $path/someone/clever/has/put/it/this/deep/,
> периодически мне приходится вызывать разные команды на них например ':!p4
> edit <file>', удобнее в этом случае просто тыркнуть ^r^%, хотелось бы также
> иметь возможность сделать ':tabe <smth>/что-нибудь', или еще что-нибудь в
> этом стиле например '!p4 sync <smth>/...', где <smth> это как раз то что я
> ищу (подставить directory of current edited file при помощи удобного
> шортката), не писать же все время '!p4 sync expand(getcwd())'....

Тогда вам лучше использовать модификаторы имени файла (filename
modifiers; подробнее help filename-modifiers).

Ваша задача с их помощью решается так:

:!p4 sync %:p:h/...

> 
> Сорри если вопрос тупой.
> 
> 
> > выделить строку (shift-v)
> > и вызвать !sh -s
> > чем писать цикл в командной строке vim.
> 
> О я не знал что команды '!...' работают с shift/ctrl-v, спасибо!

> _______________________________________________
> Maillist mailing list
> Maillist@lvee.org
> http://lvee.org/cgi-bin/mailman/listinfo/maillist


-- 
Igor Chubin

_______________________________________________
Maillist mailing list
Maillist@lvee.org
http://lvee.org/cgi-bin/mailman/listinfo/maillist

Ответить