Могу ли я использовать что-то вроде туннеля в Vim? - PullRequest
3 голосов
/ 09 декабря 2011

Например:

Если мой текущий каталог - / temp / src / com. И файл, отредактированный в vim, взят из /java/test.A теперь я хочу добавить путь к файлу в среду пути. Так что если в vim есть cmd вроде set path+=$(filepath)?

дело 2:

Запуск make в терминале начнет компиляцию проекта и выдаст журналы об этой компиляции. А теперь я хочу прочитать выдаваемые журналы в vim с помощью некоторой команды, например r !make.

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

1) Извлечь путь в текущий буфер Vim:

: r! Echo \% PATH \%

Добавить к пути:

: let $ PATH = "C: \ Test". $ PATH

2) Этот вопрос неоднозначен, поскольку он зависит от вашего поведения в make-файле. Если ваш Makefile просто печатает на консоль, то: r make должен сделать свое дело. Если ваш make-файл на самом деле записывает файлы явно, то автоматического способа не существует. Вам нужно написать пользовательскую функцию vimscript для извлечения логов.

1) Часть 2 Я не знаю, какой способ сделать это в одну строчку, но вот один из способов добиться желаемой функциональности.

: redir @a "перенаправить вывод для регистрации
: PWD
: redir END "прекратить перенаправление
: let @a = substitute (@a, '\ n', '', 'g') "удалить переводы строки
: let $ PATH = @ a. ":". $ PATH

Вы должны иметь возможность обернуть это в функцию, если вам нужно использовать ее часто.

3 голосов
/ 09 декабря 2011
  1. Вы можете ссылаться на переменные среды, используя синтаксис $MYVAR. Чтобы установить системные переменные среды, используйте

    let $MYVAR=foo

    , например

    let $PATH = "/foo" . $PATH

    См. http://vim.wikia.com/wiki/Environment_variables или : справка: let-environment

    Тогда вы можете использовать filename-modifiers , чтобы получить имя каталога файла в текущем буфере:

    let $PATH = expand("%:p:h") . $PATH

  2. Чтобы прочитать и проанализировать вывод компиляции в vim, вам может быть интересно проверить режим быстрого исправления

    Используйте :make вместо :!make

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...