Нормальная программа Unix, которая хочет вызвать редактора, запустит программу, имя которой находится в EDITOR
или VISUAL
переменная среды, и если переменная сброшена, системно-зависимое значение по умолчанию. Многие, но не все, программы проверяют обоих EDITOR
и VISUAL
; различие является долго устаревшим (после того как Вы работали бы EDITOR
на телетайпе и VISUAL
на “стеклянном” терминале …), таким образом, необходимо установить обоих на то же значение. Существует некоторое разногласие относительно того, должно ли содержание переменной быть полным путем к исполняемому файлу, исполняемое имя, в котором это искало $PATH
, или отрывок оболочки, таким образом, необходимо придерживаться пути к исполняемому файлу, не содержащему любой метасимвол оболочки. Системное значение по умолчанию, когда никакая переменная не установлена, традиционно vi
, хотя некоторые дистрибутивы изменили это на более благоприятного для новичка редактора такой как nano
.
visudo
проверки оба VISUAL
и EDITOR
(это может быть скомпилировано, по-видимому, для отговаривания корня от использования редактора, безопасности которого производитель распределения не доверяет, но даже OpenBSD не делает этого).
Похоже, что Вы изменились $PATH
переменная в одном из Ваших конфигурационных файлов оболочки, но Вы запускаете VIM со значка или настольной записи меню. Вещи Вы устанавливаете в конфигурационных файлах оболочки (как ~/.bashrc
или /etc/profile
) влияйте только на приложения, запущенные от оболочки.
Обычно существуют два три возможных подхода к этой проблеме:
[править]
~/.profile
.[/редактирование]
Локальное решение является самым безопасным (поскольку оно влияет только на одну программу), но так как Вы уже испортили систему путем установки двух параллельных версий пакета программного обеспечения, я не уверен, испугает ли это Вас. Так или иначе можно сделать это путем изменения .desktop
запись для VIM в Вашей Настольной среде и изменении связанная команда от чего-то как gnome-terminal -c vim
кому: PATH=(yourPathGoesHere) gnome-terminal -c vim
.
Глобальный метод состоит в том, чтобы изменить PATH
переменная в файле под /etc/env.d/
. Должно быть достаточно создать файл /etc/env.d/99-my_path_mod
, содержа PATH=(yourPathGoesHere):$PATH
. Необходимо будет перезагрузить, чтобы это вступило в силу (Ну, перезагрузки можно было избежать путем переключения init уровня назад и вперед, но это намного легче тот путь.)
[править]
Решение в расчете на пользователя могло бы быть лучшим и, поскольку я вижу его теперь, может быть назван "надлежащим путем". Как указано Gilles (ниже), ~/.profile
файл - то, где переменные среды для всех Ваших сессий входа в систему должны быть установлены.
Где Вы изменяли своего пользователя PATH
? Обычно, я установил бы это в ~/.profile
, где это должно быть взято Вашими X менеджерами сеансов (т.е. на следующем X входов в систему) и также относиться ко всем приложениям на Ваших X сессиях (таким как Ваша панель/рабочий стол, где Вы запускаете gvim с).
~/.profile
и никогда в~/.bashrc
. Выполнение вещи правильно не является трудным и предотвратит будущие проблемы. – Gilles 'SO- stop being evil' 31.10.2011, 23:02~/.profile
, таким образом, мой ответ может вводить в заблуждение. Но в том, какая часть это неправильно? – rozcietrzewiacz 31.10.2011, 23:37/etc/profile
поскольку конфигурационный файл оболочки является технически верным, но вводящим в заблуждение (это - файл конфигурации, записанный в оболочке, не файле конфигурации оболочки). Не упоминание~/.profile
основной пропуск, который один делает Ваш ответ “не полезным”. – Gilles 'SO- stop being evil' 31.10.2011, 23:58/etc/profile
, это - то, что я вижу в самом верху его. Так, по крайней мере, в моей системе (хинду), файл можно назвать "файлом конфигурации оболочки". – rozcietrzewiacz 01.11.2011, 00:05