Podczas pracy sudo visudo
domyślnym edytorem jest nano
.
Chcę to zmienić na vi
lub vim
.
I już vim
domyślny edytor i użyć go jako zamiennik dla gedit
do otwartego php, .txt, .c oraz pliki .h, umieszczając vim.desktop
plik ~/.local/share/applications/
i prawidłowo edycję albo ~/.local/share/applications/mimeapps.list
albo /etc/gnome/defaults.list
. Jednak najwyraźniej nie dotyczy to nano
.
Jakieś wskazówki?
vim
default-programs
nano
visudo
Cbhihe
źródło
źródło
man visudo
?sudo -E visudo
później w odpowiedzi, czy próbowałeś tego? -E sprawia, żesudo
nie usuwa wszystkich zmiennych env. Czyni bo ubuntu ma linięDefaults env_reset
w/etc/sudoers
update-alternatives
I dodałem?Odpowiedzi:
Problemem nie jest to, że nie dotyczy
nano
, lecz to, że nie dotyczy powłoki:Wystarczy ustawić
VISUAL
zmienną środowiskową:Dodaj to też ~ / .bashrc, aby było trwałe.
Ponieważ wydaje się, że ogólnie używasz vima, ustaw zarówno
VISUAL
iEDITOR
:lub więcej poprawnych POSIX
Zakładam, że
nano
była to wartość jednej lub obu zmiennych.Aby faktycznie skorzystać z edytora w visudo, musimy sobie poradzić z tym, że
sudo
normalnie nie zachowuje zmiennych środowiskowych. Opcja to-E
zmienia.Bez
-E
tutaj, by skończyć z domyślną wartościąnano
ponownieDwie zmienne były w użyciu na długo przed nazwaniem
*.desktop
lubmime*
istnieniem plików .(Imponujące jest to, że faktycznie były one używane jako wspólny standard.)
W Ubuntu domyślnie system wydaje się być ustawiony na
sudo update-alternatives --config editor
. Wyświetla menu umożliwiające zmianę bieżącego powiązania.Sekcja
ENVIRONMENT
wman visudo
:źródło
sudo
wyłącza większość zmiennych środowiskowych ze środowiska dla uruchomionego polecenia.VISUAL=vim sudo visudo
(i proponowane odmiany) nie działa dla mnie i nie należy oczekiwać, że zadziała.sudo VISUAL=vim visudo
jednak działa. (Właśnie próbowałem zarówno ponownie, aby się upewnić.) By the way,VISUAL
iEDITOR
są domyślnie wyłączony, nie ustawionynano
.VISUAL
iEDITOR
nie są mechanizmem, za pomocą któregovisudo
dokonuje wyborunano
w domyślnej konfiguracji (z wyjątkiem przypadków, gdy się z nimi konsultuje, stwierdza, że są one rozbrojone lub puste i porusza się dalej).sudo -E visudo
- co z pewnością powinno być w odpowiedzi, prawda.Default
) w / etc / sudoers? Myślę, że istnieje opcja, która tego zabrania, ale nie ma jej w moim domyślnym pliku.Jak opisano w tej odpowiedzi , dodaj
do pliku sudoers .
Uwaga: zadziała to tylko wtedy, gdy edytowany plik zawiera
Defaults editor=/path/to/editor
wiersz lub zawiera plik, który go zawiera.Na przykład:
visudo -f /etc/sudoers.d/my_sudoers_extension
domyślnie Nano.źródło
Jeśli nigdy nie planujesz używać nano, możesz go po prostu usunąć. Wtedy system użyje vi / vim jako domyślnego.
Wiem, że nie jest to oficjalna odpowiedź, ale jest to dla mnie jedno z pierwszych poleceń po zainstalowaniu Ubuntu.
źródło
emacs
ivim
aktywnie współistnieją w profilu jednego użytkownika. Jednaknano
ivim
zdarzają się razem w naturze ... Keepnano
!emacs
ivim
szczęśliwie współistnieją i są stale używane.nano
jest jak szkodnik, im szybciej zostanie usunięty z systemu, tym lepiej. Rozumiem, że niektórym ludziom może być wygodnie, ale ta odpowiedź jest całkowicie poprawna.