โปรดอย่าโหวตฉันสำหรับสิ่งนี้ ฉันไม่แนะนำให้ใช้คำตอบนี้ แต่เป็นคำตอบที่ rkthkr ขอ
rkthkr พูดว่า:
แต่มันจะดีถ้ามี vim เริ่มต้นใหม่และทำงานเป็น root
วิธีการทำเช่นนี้คือด้วย:!sudo vim %
ที่ฉันกล่าวถึง ipozgaj,% เป็นข้อโต้แย้ง (แม้ย่อยอาร์กิวเมนต์) ได้รับการแทนที่ด้วยเส้นทางไปยังบัฟเฟอร์ปัจจุบัน (คุณอาจได้รับพร้อมท์สำหรับรหัสผ่านของคุณ) คุณจะจบลงด้วยกระบวนการ vim ใหม่ซึ่งเป็นของ root ซึ่งเป็นกระบวนการลูกของกระบวนการ vim ดั้งเดิม ฟังดูงี่เง่าใช่มั้ย นี่คือสิ่งที่ดูเหมือนใน ps:
~# ps afo pid,ppid,user,stat,comm
PID PPID USER STAT COMMAND
16187 30478 rbronosky Ss bash
16510 16187 rbronosky R+ \_ ps
30482 30478 rbronosky Ss bash
16244 30482 rbronosky S+ \_ vim
16318 16244 root S+ \_ vim
หากคุณมีสิทธิ์เขียนไปยังไดเรกทอรีที่มีไฟล์และคุณได้ทำการแก้ไขคุณอาจได้รับการเตือนว่ามีการสลับไฟล์ออก การเลือก ecover [R] จะสะท้อนถึงการเปลี่ยนแปลงส่วนใหญ่ที่เกิดจากกระบวนการ vim parent (* ฉันคิดว่าอาจจะมีการอัพเดต swap หรือหมดเวลาหรือมีเดลตาที่กำหนดฉันใช้เวลามากเกินไปในการทำเช่นนี้และไม่สนใจที่จะทำการวิจัย)เมื่อคุณไปและออกเป็นกลุ่มอย่าตกใจเมื่อคุณเป็น ยังอยู่ในกลุ่ม ... คุณเปิดกระบวนการกลุ่มที่สอง จำได้ไหม?
ตอนนี้ทั้งหมดที่กล่าวมา ... ฉันแทบจะไม่เคยทำเช่นนี้เลย บางทีถ้าฉันมีกาแฟไม่พอหรือมากเกินไปและฉันก็รู้ว่าฉันจะต้องแก้ไขไฟล์หลาย ๆ ไฟล์ตามรูท ... ฉันอาจลอง ใน 14 ปีของการบริหารระบบฉันไม่เคยมี แต่จนกว่าคุณจะแสดงความไม่พอใจกับโซลูชันที่ฉันต้องการ (ซึ่งตรงตามที่ dbr เสนอ) ฉันไม่เคยคิดเกี่ยวกับเรื่องนี้