Вопрос
Я хотел бы иметь доступ к текущему рабочему каталогу в моем vimrc.Например, я могу получить доступ к текущему файлу, используя %.
В частности, у меня есть следующая строка в моем Vimrc:карта, л:!латекс %
Когда он запускается, все работает нормально, за исключением того, что полученные dvi и другие файлы хранятся в моем домашнем каталоге, а не в моем текущем рабочем каталоге.
Какие-либо предложения?
Решение
Видеть :help autochdir
.Vim может автоматически изменить текущий рабочий каталог на каталог, в котором находится редактируемый вами файл.
В противном случае, если вы хотите сделать это вручную, см. :help cd
и :help lcd
.
Другие советы
видеть :he filename-modifiers
:!latex % -output-directory %:h
Скорее всего, вы запускаете vim из своего домашнего каталога, поэтому для него это ток.А latex
Поэтому команда, вызываемая из vim, также имеет текущий домашний каталог.
Вы, вероятно, это знаете и хотите просто извлечь путь из имени файла и передать его в качестве аргумента -o
вариант latex
команда.Просто используйте возможности оболочки:
:!latex % -output-directory `dirname "%"`
Я не уверен, что это -output-directory
вариант, но вы получаете то, что просили — имя каталога файла, который вы редактируете.