ฉันจะเปลี่ยนเอดิเตอร์ดีฟอลต์ของคำสั่ง sudoedit เป็น vim ได้อย่างไร?


23

ฉันพยายามที่จะใช้sudoeditแต่มันยังคงทำงานnanoบรรณาธิการ vimบรรณาธิการแนะนำของฉันคือ ฉันจะทำให้เป็นค่าเริ่มต้นได้อย่างไร

มองไปที่หน้าคนman sudoeditฉันได้สังเกตเห็นสิ่งต่อไปนี้:

 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.

ดังนั้นฉันจึงตั้งค่าทั้งหมดเป็น/usr/bin/vimแต่sudoedit /etc/hostsก็ยังใช้nanoอยู่ ฉันพลาดอะไรไปรึเปล่า?

$ 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

เกี่ยวกับsudo vimอะไร
คอร์นีเลียส

@Cornelius ใช้งานได้นั่นเป็นวิธีแก้ปัญหาของฉันในขณะนี้
ด่าน

1
ลอง sudo visudo แทน
animaletdesequia

visudo: /etc/sudoers: Permission denied@darent นั่นคืออะไร?
คอร์นีเลียส

2
@darent visudoเป็นโปรแกรมอื่น edit the sudoers fileมันเป็นเพียงมีเพื่อให้คุณสามารถ man visudo
ด่าน

คำตอบ:


27

เรียกใช้sudo update-alternatives --config editorและเลือกเป็นกลุ่ม หลังจากนี้sudoedit /etc/hostsควรเปิดใช้/etc/hostsvim

sudo vim /etc/hostsหรือคุณสามารถใช้


12

ลองส่งออกตัวแปรเช่น:

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

เชลล์ใหม่เริ่มทำงานเมื่อคุณรันคำสั่งและหากตัวแปรนี้ไม่ถูกเอ็กซ์พอร์ตจะไม่มีอยู่ในเชลล์ใหม่


เนื่องจากคำถามเกี่ยวข้องกับการส่งออกมากกว่าการตั้งค่าตัวแปรสภาพแวดล้อมและวิธีการทำทางเลือกsudo vim /etc/hostsไม่เกี่ยวข้องที่นี่จึงควรเป็นคำตอบที่ยอมรับได้
BcK
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.