(G) VIM использует другую $ PATH, чем моя система

Поскольку Ubuntu не предоставляет обновленные пакеты для TeXLive, я установил его вручную. Однако некоторые программы нуждаются в TeXLive в качестве зависимости. Так что я сделал, я установил пакет TeXLive из репозиториев Ubuntu поверх этого, что является версией 2009 года. Затем я изменил свой $ PATH, чтобы он содержал установленную вручную версию 2011 года, поэтому программы все еще всегда указывают и используют самую последнюю версию TeXLive. До сих пор это работало нормально.

Но вот привязка: когда я перешел на VIM для редактирования моих файлов LaTeX, я заметил после слишком большой головной боли, что VIM «видит» только TeXLive2009! Смотрите этот снимок экрана, слева – VIM, справа – терминал:

Версия LaTeX в VIM

Затем я проверил, что использует PATH VIM, и, как оказалось, он использует другой, который НЕ указывает на TeXLive 2011. Смотрите этот скриншот:

Путь в VIM и терминал

VIM:

:! echo $PATH /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

Терминал:

 echo $PATH /usr/local/texlive/2011/bin/x86_64-linux:/usr/local/texlive/2011/bin/x86_64-linux:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

У вас есть идея, как это исправить, поэтому мои плагины LaTeX могут использовать TeXLive 2011, возможно, если VIM использует тот же $ PATH? Любая помощь была бы высоко оценена!

2 Solutions collect form web for “(G) VIM использует другую $ PATH, чем моя система”

Похоже, вы изменили $PATH в одном из файлов конфигурации оболочки, но вы запускаете VIM из значка или записи в меню рабочего стола. То, что вы установили в файлах конфигурации оболочки (например, ~/.bashrc или /etc/profile ), влияет только на приложения, запущенные из оболочки .

Как правило, существует два возможных подхода к этой проблеме:

  • local : измените способ запуска VIM.

[редактировать]

  • для пользователя : измените среду своего пользователя в файле ~/.profile .

[/редактировать]

  • global : изменение глобальной среды.

Локальное решение является самым безопасным (поскольку оно затрагивает только одну программу), но поскольку вы уже перепутали систему, установив две параллельные версии программного пакета, я не уверен, что это вас пугает. В любом случае, вы можете это сделать, изменив запись .desktop для VIM в Desktop Environment и изменив связанную команду с чем-то вроде gnome-terminal -c vim на PATH=(yourPathGoesHere) gnome-terminal -c vim .

Глобальный метод заключается в изменении переменной PATH в файле под /etc/env.d/ . Достаточно создать файл /etc/env.d/99-my_path_mod , содержащий PATH=(yourPathGoesHere):$PATH . Для этого вам потребуется перезагрузка, чтобы это входило в силу (ну, перезагрузки можно было бы избежать, переключив уровень инициализации вперед и назад, но это намного проще).

[редактировать]

Решение для каждого пользователя может быть лучшим и, как я вижу сейчас, можно назвать «правильным способом». Как указал Жиль (внизу), файл ~/.profile – это переменные среды для всех ваших сеансов входа в систему.

Где вы изменили PATH вашего пользователя? Обычно я устанавливал это в ~/.profile , где его должен был подхватить ваш менеджер сеансов X (т. Е. В следующем X-входе в систему), а также примениться ко всем приложениям вашего X-сеанса (например, к вашей панели / начать gvim от).

  • Является ли vim многопоточным?
  • vim: Синтаксис синтаксиса с помощью аргумента командной строки
  • Как проверить, какая версия редактора VI у меня есть?
  • vi - как присоединиться к разным конкретным линиям
  • Что создает файлы подкачки?
  • Можно ли копировать данные с одного сеанса экрана на другое?
  • Нет подсветки синтаксиса при редактировании crontab
  • Что это за плагин VIM?
  • положение курсора после вставки в vi / vim
  • Как я могу установить мой .vimrc, какую ОС я использую?
  • Извлечение полей в файл и сохранение его в другом файле в vim
  • Linux и Unix - лучшая ОС в мире.