Во время выполнения команды less
нажатие v kbd> открывает файл в редакторе. Я установил переменную среды EDITOR
на vi
, выполнив команду export EDITOR=vi
.
Он работает отлично, как и ожидалось. Однако, когда я перезагружаю компьютер, редактор больше не Vi. Как мне сделать его постоянным?
Обычно я настраиваю это поведение глобально, используя update-alternatives
:
$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
* 3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 15 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Я уже выбрал Vim, но nano
по умолчанию в Ubuntu. Вы бы напечатали 3
, чтобы выбрать Vim в моем примере, если он еще не был выбран.
Как и less
, любая программа, которая вызывает редактор (например, sudoedit
), должна теперь вызывать выбранную.
Чтобы сделать его постоянным, просто выполните в терминале следующее:
echo "export EDITOR=vi" >> ~/.bashrc
Это добавит строку в ваш файл .bashrc
, который вызывается каждый раз, когда вы открываете окно терминала.
Ответить на вопрос, почему это будет работать, даже если до добавления в .bashrc
была похожая строка, просто. .bashrc
- это сценарий, который будет считываться и выполняться линейным способом, и этот метод добавляет эту строку в качестве последней ниже всех остальных, чтобы он выполнялся / оценивался как последний. Поэтому, если до того, как значение переменной EDITOR
будет заменено добавленной вами строкой, была строка.
В качестве альтернативы, если вы не хотите создавать беспорядок, вы также можете использовать ваш любимый редактор (vi, vim, nano, joe и т. Д.), Чтобы сделать это изменение и добавить строку, если ее нет и если она есть. отредактируйте его.
Вам нужно будет добавить его в файл .bashrc
, открыть его с помощью nano
или vi
и добавить следующую строку:
export EDITOR=vi