Używam Red Hat Enterprise Linux 5 i chcę ustawić edytor vim, aby edytować plik crontab.
Jeśli biegnę echo $EDITOR
, dostaję vim. Ale kiedy biegam crontab -e
, mam innego redaktora.
Odpowiedzi:
Bardzo prawdopodobne, że VISUAL
zmienna środowiskowa jest ustawiona na coś innego. Próbować:
export VISUAL=vi
VISUAL
nie jest ustawione, EDITOR
używana jest zmienna. Ale VISUAL
ma pierwszeństwo przed EDITOR
.
Cytując człowieka:
Opcja -e jest używana do edycji bieżącej tabeli crontab przy użyciu edytora określonego przez zmienne środowiskowe VISUAL lub EDITOR
Najczęściej, jeśli uciekasz crontab -e
z X, VISUAL
ustawiłeś; to jest to, co jest używane. Spróbuj tego:
VISUAL=vi crontab -e
U mnie to po prostu zadziałało :)
sudo VISUAL=vi crontab -e
Jeśli powyższe metody nie działają (ponieważ nie działają na mojej instalacji Ubuntu 13.04), spróbuj:
Istnieje kilka alternatywnych sposobów:
1) Uruchom edytor wyboru
select-editor
2) Ręcznie edytuj plik: ~/.selected_editor
określ preferowany edytor. Dzięki tej opcji możesz określić parametry edytora.
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"
3) Możesz określić w locie w linii poleceń za pomocą:
env VISUAL="emacs -nw" crontab -e
nano
Podczas pierwszego otwierania crontaba przez pomyłkę ustawiłem domyślny edytor na . Potem musiałem użyć, sudo select-editor
aby to zadziałało. Wskazówka, jeśli tylko select-editor
nie zadziała
Myślę, że możesz potrzebować użyć pełnej ścieżki:
export EDITOR=/usr/bin/vim
VISUAL
najpierw sprawdza się. Tak więc idealnie rozsądna rada, taka jak twoja, działa dobrze w przypadku sesji SSH i w tajemniczy sposób zawodzi na komputerze stacjonarnym.
Możesz użyć poniższego polecenia, aby otworzyć go w edytorze VIM.
export VISUAL=vim; crontab -e
Uwaga: upewnij się, że na serwerze jest zainstalowany edytor VIM.
To nie działało na mnie. Uruchamiam crontab z sudo, więc przełączyłem się na roota, wykonałem powyższe sugestie, a crontab otworzyłby się w vimie, ale nadal nie byłby z mojego konta użytkownika. W końcu uciekłem sudo select-editor
z konta użytkownika i to załatwiło sprawę.
find ~/ -mount ! -user $(whoami)
. Można rozwiązać ten problem przez wykonanie: sudo chown -R $(whoami):$(whoami) ~/
.
To zadziałało dla mnie:
EDITOR="/usr/bin/vim"
export EDITOR
Dodaj to do ~ / .bash_profile lub ~ / .bashrc, aby włączyć to dla bieżącego użytkownika.
export VISUAL=vim
(setenv VISUAL "vim"
dla powłoki tcsh) działa świetnie !!