Làm cách nào để thay đổi trình soạn thảo mặc định của lệnh sudoedit thành vim?


23

Tôi đang cố gắng sử dụng sudoedit, nhưng nó vẫn chạy nanotrình soạn thảo. Biên tập viên ưa thích của tôi là vim. Làm thế nào tôi có thể làm cho nó mặc định?

Nhìn vào trang người đàn ông man sudoedit, tôi nhận thấy những điều sau:

 EDITOR           Default editor to use in -e (sudoedit) mode if neither SUDO_EDITOR nor VISUAL is set.
 SUDO_EDITOR      Default editor to use in -e (sudoedit) mode.
 VISUAL           Default editor to use in -e (sudoedit) mode if SUDO_EDITOR is not set.

Vì vậy, tôi đã đặt tất cả chúng /usr/bin/vim, nhưng sudoedit /etc/hostsvẫn sử dụng nano. Tui bỏ lỡ điều gì vậy?

$ EDITOR=/usr/bin/vim
$ VISUAL=/usr/bin/vim
$ SUDO_EDITOR=/usr/bin/vim

$ echo $VISUAL
/usr/bin/vim

$ echo $EDITOR 
/usr/bin/vim

$ echo $SUDO_EDITOR 
/usr/bin/vim

$ sudoedit /etc/hosts # This is still using nano

Thế còn sudo vim?
Cornelius

@Cornelius Điều đó hoạt động, đó là cách giải quyết của tôi cho vấn đề tại thời điểm này.
Dan

1
thay vào đó hãy thử sudo visudo
Animaletdesequia

@darent visudo: /etc/sudoers: Permission denied. Đó là gì?
Cornelius

2
@darent visudolà một chương trình khác nhau. Nó chỉ ở đó để cho phép bạn edit the sudoers file. man visudo
Dan

Câu trả lời:


27

Chạy sudo update-alternatives --config editorvà chọn cho vim. Sau này, sudoedit /etc/hostsnên mở /etc/hostsbằng vim.

Hoặc bạn có thể sử dụng sudo vim /etc/hosts.


12

Hãy thử xuất biến tức là:

$ SUDO_EDITOR=/usr/bin/vim
$ export SUDO_EDITOR

Một shell mới được bắt đầu khi bạn chạy lệnh và nếu biến này không được xuất thì nó sẽ không tồn tại trong shell mới.


Vì câu hỏi liên quan nhiều hơn đến việc xuất so với đặt biến môi trường và cách làm khác sudo vim /etc/hostskhông liên quan ở đây, nên đây là câu trả lời được chấp nhận.
BcK
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.