2016-12-31 8 views
1

Как изменить редактор по умолчанию во FreeBSD (используя bash) с vi на vim (или в моем случае nvim).Изменить редактор по умолчанию с vi на vim или nvim на FreeBSD

Вот что я пытался (для nvim):

в /etc/profile (я хотел бы nvim быть редактором для всех пользователей)

export EDITOR="/usr/local/bin/nvim" 

в ~/.bash_profile

export EDITOR="/usr/local/bin/nvim" 

~/.bashrc

export EDITOR="/usr/local/bin/nvim" 

в ~/.profile

export EDITOR="/usr/local/bin/nvim" 

Я бегу из вариантов здесь. Там, кажется, много мнений, но нет ничего полезного в документации FreeBSD.

+1

BSD чаще используют csh в качестве интерактивной оболочки по умолчанию, чем bash (ymmv). –

+3

Действительно. FreeBSD по умолчанию использует tcsh. Что дает вам «echo $ SHELL»? Вы можете изменить оболочку с помощью 'chsh' (bash не устанавливается по умолчанию, установите' editors/bash', чтобы получить его). Кроме того, многие программы не используют '$ EDITOR', поэтому вам следует описать, что * точно * не работает. – Carpetsmoker

+0

Одна из первых утилит, которые я устанавливаю на каждую мою FreeBSD, - bash. Итак, да, я имею в виду баш. Прошу прощения за то, что я не был достаточно конкретным. – LongHike

ответ

1

Это должно сработать. Не могли бы вы сделать «echo $ EDITOR» в оболочке и проверить, правильно ли он установлен?

Кроме того, я, кажется, помню, что VISUAL имеет приоритет над EDITOR, поэтому проверьте, установлено ли это.

0

Чтобы глобально изменить редактор вы можете редактировать файл /etc/login.conf и иметь что-то вроде этого:

default:\ 
     :passwd_format=sha512:\ 
     :copyright=/etc/COPYRIGHT:\ 
     :welcome=/etc/motd:\ 
     :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,EDITOR=vim:\ 
     ... 

Обратите внимание на setenv линия:

:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,EDITOR=vim:\ 

После редактирования файла необходимо запустить:

# cap_mkdb /etc/login.conf 

В основном это будет EDITOR окружение var в ваш предпочтительный редактор, тот может быть перезаписан с использованием пользовательских .(cshrc|zshrc|profile)