วิธีออกจาก Vi หรือ Vim Editor

เผยแพร่แล้ว: 2022-01-29

โปรแกรมแก้ไข vi บน Ubuntu Linux

ตัวแก้ไข vi นั้นสร้างความสับสนหากคุณไม่คุ้นเคย ต้องใช้การจับมือเป็นความลับเพื่อออกจากแอปพลิเคชันนี้หากคุณบังเอิญเจอแอปนี้ ต่อไปนี้คือวิธีออกจาก vi หรือ vim บน Linux, macOS หรือระบบที่คล้าย Unix อื่นๆ

คำตอบด่วน

หากคุณอยู่ในกลุ่ม vi หรือ vim และต้องการออกจากระบบ ไม่ว่าจะบันทึกการเปลี่ยนแปลงหรือไม่ก็ตาม มีวิธีดังนี้:

  • ขั้นแรก ให้กดปุ่ม Esc สองสามครั้ง เพื่อให้แน่ใจว่า vi ออกจากโหมดแทรกและอยู่ในโหมดคำสั่ง
  • ประการที่สอง พิมพ์ :q! และกด Enter สิ่งนี้บอกให้ vi ออกโดยไม่บันทึกการเปลี่ยนแปลงใดๆ (หากคุณต้องการบันทึกการเปลี่ยนแปลง ให้พิมพ์ :wq แทน)

หากคุณต้องการเรียนรู้บรรทัดคำสั่ง Linux คุณจะต้องรู้มากกว่านี้ อ่านต่อไปและเราจะแสดงให้คุณเห็นว่า vi ทำงานอย่างไรและทำไมคำแนะนำในการเลิกบุหรี่จึงผิดปกติ vi เป็นเครื่องมือที่สำคัญและมีประสิทธิภาพ และช่วงการเรียนรู้ก็คุ้มค่า

vi บรรณาธิการที่แพร่หลาย

เพราะ vi มีอยู่ทุกที่ โอกาสที่คุณจะเจอมัน คุณสามารถพบว่าตัวเองอยู่ใน vi โดยบังเอิญ บางทีอาจมีคนขอให้คุณดูคอมพิวเตอร์ลินุกซ์สำหรับพวกเขา คุณออกคำสั่งเช่น crontab -e และ vi ปรากฏขึ้น แปลกใจมีคนกำหนดค่าตัวแก้ไขเริ่มต้นสำหรับ crontab เป็น vi

บางทีคุณกำลังดูแลระบบที่ vi เป็นตัวแก้ไขเพียงตัวเดียว หรือตัวเดียวที่จะทำงานผ่านเซสชัน SSH ระยะไกล และคุณจำเป็นต้องแก้ไขไฟล์ .bashrc ของผู้ใช้

โฆษณา

คำสั่งในการเริ่ม vi และเปิดไฟล์นั้นตรงไปตรงมา พิมพ์ vi เว้นวรรค แล้วตามด้วยชื่อไฟล์ กดปุ่มตกลง. โปรแกรมที่เปิดตัวอาจเป็น vi หรืออาจเป็น vim ซึ่งเป็น ' vi ที่ปรับปรุงแล้ว' ขึ้นอยู่กับการกระจาย Linux ของคุณ ตัวอย่างเช่น Ubuntu ใช้ vim คำแนะนำทั้งหมดในบทความนี้ใช้กับ vim อย่างเท่าเทียมกัน

 vi .bashrc

.bashrc ใน vi

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

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

และไม่ว่าคุณจะพิมพ์อะไร คุณก็ไม่สามารถหาวิธีออกหรือออกจากตัวแก้ไขได้ ในขณะเดียวกัน ไฟล์ของคุณก็ค่อนข้างจะยุ่งเหยิง และเสียงบี๊บที่ดูเหมือนสุ่มทำให้คุณแทบคลั่ง

ความพยายามที่ไม่ดีในการแก้ไขใน vi

โหมดคำสั่งและโหมดแทรก

คุณต้องเปลี่ยน vi เป็นโหมดที่เหมาะสมสำหรับสิ่งที่คุณพยายามทำให้สำเร็จ

โหมดคำสั่งเป็นโหมดเริ่มต้นเมื่อเปิด vi เว้นแต่คุณจะรู้ดีกว่านี้ คุณจะเริ่มพยายามพิมพ์ หากคุณบังเอิญกดปุ่ม 'i' หรืออีก 10 คีย์ที่เรียกใช้โหมดแทรก (a, A, c, C, I, o, O, R, s และ S) คุณจะเห็นว่าอะไร คุณกำลังพิมพ์ ขณะนี้คุณอยู่ในโหมดแทรก

โฆษณา

นี่อาจรู้สึกเหมือนมีความคืบหน้าจนกว่าคุณจะกดปุ่มลูกศรอันใดอันหนึ่ง หากคุณทำเช่นนั้น A, B, C หรือ D จะปรากฏเป็นตัวอักษรตัวเดียวในบรรทัดใหม่ที่ว่างเปล่า ที่ด้านบนของไฟล์

ไม่เป็นไร เราพร้อมช่วยเหลือคุณ มันง่ายอย่างน่าประหลาดใจเมื่อคุณรู้วิธี จำการกดแป้นสองครั้งนี้: Esc นำคุณไปที่โหมดคำสั่งและ "i" จะนำคุณไปยังโหมดแทรก

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

จากโหมดคำสั่งสู่ความปลอดภัย

หากต้องการเข้าสู่โหมดคำสั่ง ให้กดปุ่ม Esc จะไม่มีอะไรปรากฏให้เห็น ตีอีกสองสามครั้ง หากคุณได้ยินเสียงบี๊บเมื่อคุณกดปุ่ม Escape แสดงว่าคุณอยู่ในโหมดคำสั่ง เสียงบี๊บกำลังบอกคุณว่า “หยุดกด Esc คุณอยู่ในโหมดคำสั่งแล้ว” หากคุณได้ยินเสียงบี๊บเมื่อคุณกด Esc เราก็ทำได้

พิมพ์เครื่องหมายทวิภาค ตัวอักษร "q" และเครื่องหมายอัศเจรีย์โดยไม่เว้นวรรค อักขระทั้งสามนี้ควรปรากฏที่ด้านซ้ายสุดของบรรทัดล่างสุดของเทอร์มินัล หากไม่เป็นเช่นนั้น ให้กด Esc จนกว่าคุณจะได้ยินเสียงบี๊บ แล้วลองอีกครั้ง กดปุ่ม Enter เมื่อคุณเห็น:

 :q! 

:q! คำสั่งในvi

ในคำสั่งนี้ q เป็นตัวย่อสำหรับ quit เครื่องหมายอัศเจรีย์จะเพิ่มการเน้น ดังนั้นมันเหมือนกับว่าคุณกำลังตะโกนว่า "เลิก!" ที่ vi นั่นอาจทำให้คุณรู้สึกดีขึ้นเล็กน้อย

โฆษณา

เครื่องหมายอัศเจรีย์ยังสั่งให้ vi ไม่ บันทึกการเปลี่ยนแปลงใดๆ ที่คุณได้ทำไว้กับไฟล์ หากคุณเคยผิดพลาดเกี่ยวกับใน vi และไม่รู้ว่าคุณกำลังทำอะไรอยู่ คุณอาจไม่ต้องการกอบกู้ความหายนะที่คุณได้ก่อขึ้น

เมื่อคุณกลับมาที่บรรทัดคำสั่งแล้ว คุณอาจต้องการตรวจสอบอีกครั้งเพื่อให้แน่ใจว่าไฟล์นั้นไม่ได้ถูกแก้ไข คุณสามารถทำได้ด้วยคำสั่งต่อไปนี้:

 cat .bashrc | น้อย 

.bashrc น้อยลง

เมื่อคุณออกจาก vi หากคุณเห็นข้อความว่า "ไม่มีการเขียนตั้งแต่การเปลี่ยนแปลงครั้งล่าสุด" แสดงว่าคุณพลาดเครื่องหมายอัศเจรีย์จากคำสั่ง เพื่อป้องกันไม่ให้คุณเลิกและสูญเสียการเปลี่ยนแปลงใด ๆ ที่คุณอาจต้องการเก็บไว้ vi ให้โอกาสคุณบันทึกการเปลี่ยนแปลงเหล่านั้น เพียงออกใหม่ :q! คำสั่งโดยใช้เครื่องหมายอัศเจรีย์เพื่อออกจาก vi และละทิ้งการเปลี่ยนแปลงใดๆ

ไม่เขียนตั้งแต่ข้อความเปลี่ยนแปลงล่าสุด

หากคุณแน่ใจ บันทึกการเปลี่ยนแปลงของคุณ

หากคุณพอใจกับการเปลี่ยนแปลงที่ทำกับไฟล์ของคุณ คุณสามารถออกและบันทึกการเปลี่ยนแปลงได้โดยใช้คำสั่ง :wq (write and quit) ตรวจสอบให้แน่ใจว่าคุณพอใจอย่างยิ่งที่ต้องการให้เขียนการแก้ไขหน้าจอลงในไฟล์ก่อนที่จะดำเนินการต่อ

พิมพ์เครื่องหมายทวิภาค ตัวอักษร w (เขียน) และตัวอักษร q (ออก) กดปุ่ม Enter เมื่อคุณเห็นที่ด้านล่างซ้ายของเทอร์มินัล:

 :wq 

:wq คำสั่งใน vi

เส้นการเรียนรู้นั้นคุ้มค่า

การใช้ vi ก็เหมือนการใช้เปียโน คุณไม่สามารถนั่งลงและใช้มันได้ คุณต้องฝึกฝนบ้าง การนั่งนิ่งเฉยและพยายามเรียนรู้ทันทีเมื่อมีความกดดันให้คุณแก้ไขบางอย่างไม่ใช่วิธีการทำ มันสมเหตุสมผลพอๆ กับการนั่งเล่นเปียโนเป็นครั้งแรกเมื่อม่านเปิดขึ้นสำหรับคอนเสิร์ตครั้งแรกของคุณ

โฆษณา

พลังของ vi ส่วนใหญ่มาจากการกดแป้นพิมพ์พร้อมกันหลายแบบซึ่งแต่ละอันทำงานแก้ไขทั่วไป เยี่ยมมาก แต่คุณจะไม่ได้ประโยชน์จากมันหรอก จนกว่าคุณจะจำ ฝึกฝนมัน และมันเป็นส่วนหนึ่งของความทรงจำของกล้ามเนื้อของคุณ

ก่อนหน้านั้น หากคุณพบว่าตัวเองอยู่ใน vi และกำลังดูไฟล์สำคัญ เพียง :q! และจากไปอย่างสง่างาม ไฟล์สำคัญของคุณจะขอบคุณ