Vi & Vim

คำถามและคำตอบสำหรับผู้ที่ใช้ตระกูล vi และ Vim ของเครื่องมือแก้ไขข้อความ

5
จะแทนที่แท็บด้วยช่องว่างได้อย่างไร
เป็นไปได้ไหมที่จะแปลงแท็บเป็นช่องว่างในขณะที่ยังคงการจัดแนวข้อความไว้? เพียงแทนที่งานได้อย่างเป็นประโยชน์เมื่อไม่มีตัวอักษรนำ

7
ฉันจะดีบักไฟล์ vimrc ของฉันได้อย่างไร
ฉันมีปัญหาในกลุ่มและผมคิดว่ามันอาจจะอยู่ในของฉันvimrcไฟล์ (หรือได้รับการบอกว่ามันอาจจะเป็นของฉันvimrcไฟล์) ฉันจะตรวจสอบสิ่งนี้ได้อย่างไร ถ้าเป็นvimrcไฟล์ของฉันฉันจะรู้ได้อย่างไรว่าปัญหาอยู่ตรงไหน
80 vimrc 

5
วิธีแก้ไขไฟล์ไบนารีด้วย Vim
มีวิธีแก้ไขไฟล์ไบนารีในโหมดเลขฐานสิบหกบางประเภทหรือไม่? ตัวอย่างเช่นถ้าฉันมีข้อมูลไบนารีที่แสดงโดยxxdหรือhexdump -Cดังนี้: $ hexdump -C a.bin | head -n 5 00000000 cf fa ed fe 07 00 00 01 03 00 00 80 02 00 00 00 |................| 00000010 12 00 00 00 40 05 00 00 85 00 20 00 00 00 00 00 |....@..... .....| 00000020 19 …

4
เป็นไปได้ไหมที่จะแยกหน้าต่าง Vim เพื่อดูหลายไฟล์พร้อมกัน?
เมื่อทำงานกับไฟล์หลายไฟล์มันจะมีประโยชน์มากถ้าเราสามารถเห็นไฟล์มากกว่าหนึ่งไฟล์ในหน้าจอพร้อมกัน มีวิธีใดบ้างใน Vim ที่จะแยกหน้าต่าง (แนวนอนหรือแนวตั้ง) เพื่อให้แต่ละการแบ่งสามารถแสดงไฟล์ที่แตกต่างกันได้?
74 split 

12
วิธีอื่นในการออกจากโหมดแทรกนอกเหนือจาก Escape
เหตุผลหลักที่ฉันชอบพูดจาชอบ emacs ก็คือการเคลื่อนไหวของมือฉันอยู่ห่างจากแถวบ้านต่ำมาก (แม้ในฐานะโปรแกรมเมอร์) อย่างไรก็ตามครั้งหนึ่งที่ฉันทำเช่นนี้คือออกจากโหมดแทรกโดยการกด Escape ฉันเพิ่งเรียนรู้ว่าฉันสามารถใช้ Ctrl + C เพื่อออกจากโหมดแทรกได้เช่นกัน อย่างไรก็ตามนี่ไม่ใช่การปรับปรุงจริง ๆ ฉันจะออกจากโหมดแทรกโดยไม่ต้องออกจากแถวบ้านได้อย่างไรและโดยไม่มีผลกระทบอย่างใหญ่หลวงต่อสิ่งที่ฉันมีความสามารถในการพิมพ์ หมายเหตุ: ฉันใช้เสียงวานิลลาเป็นส่วนใหญ่กับรูปแบบแป้นพิมพ์ dvorak แม้ว่าฉันชอบที่จะได้ยินวิธีแก้ไขปัญหาสำหรับรูปแบบ qwerty เช่นกัน

1
วัตถุประสงค์ของการแลกเปลี่ยนไฟล์คืออะไร?
เมื่อฉันแก้ไขไฟล์, กลุ่มมีแนวโน้มที่จะสร้างชื่อไฟล์ซึ่งฉันพบว่าน่ารำคาญ จากฉันเห็นว่าตัวเลือกที่ไม่สร้างไฟล์ swap.filename.swpvim -h-n มีคำสั่ง vimrc ที่ฉันสามารถใช้เพื่อปิดการแลกเปลี่ยนไฟล์โดยปริยายหรือไม่? วัตถุประสงค์ของการแลกเปลี่ยนไฟล์คืออะไรและฟังก์ชั่นใดที่ฉันจะพลาดโดยการระงับมัน?

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

9
วิธีรันคำสั่งเชลล์อย่างเงียบ ๆ ?
:!<command>สามารถใช้เพื่อรันคำสั่งในเชลล์ แต่นี่ "ใช้เวลา" terminal ของฉันและเติมด้วยstdoutคำสั่งเฉพาะที่ ฉันจะรันคำสั่งในพื้นหลังที่แจ้งให้ฉันทราบเฉพาะรหัสทางออกที่ไม่เป็นศูนย์ได้อย่างไร

5
ฉันจะข้ามไปยังตำแหน่งของการแก้ไขล่าสุดได้อย่างไร
ฉันมักจะทำการเปลี่ยนแปลงที่ตรงกลางของไฟล์ขนาดใหญ่ใช้ggเพื่อข้ามไปด้านบนเพื่อตรวจสอบบางสิ่งบางอย่างและจากนั้นฉันก็ลืมที่จะกำหนดเครื่องหมายที่ฉันแก้ไข มีวิธีในตัวเพื่อข้ามไปยังตำแหน่งของบรรทัดที่เปลี่ยนแปลงล่าสุดหรือไม่?


6
มีวิธีง่าย ๆ ในการปิดหน้าต่างตัวบัฟเฟอร์ / ตัวอย่าง?
หนึ่งในปลั๊กอินที่ฉันติดตั้ง (อาจเป็น Supertab) ให้มุมมองที่ดีของเอกสารประกอบสำหรับรายการที่ไฮไลต์อยู่ในเมนูเสร็จ: บัฟเฟอร์รอยขีดข่วน (เห็นได้ชัด) ยังคงเปิดอยู่แม้หลังจากที่ฉันออกจากความสำเร็จ (โดยการกดEnterหรือSpace) จากนั้นเพื่อออกจากมันฉันทำ<c-w>↑:qแต่ฉันพบว่าต้องกดCtrlที่น่ารำคาญอย่างยิ่ง (เหตุผลหนึ่งที่ฉันหลีกเลี่ยงการแยก) วิธีปิดบัฟเฟอร์รอยขีดข่วนอย่างรวดเร็วคืออะไร มีวิธีแบบเนทีฟหรือฉันต้องเขียนแผนที่หรือไม่?

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

2
ฉันจะทราบได้อย่างไรว่า <Leader> ตั้งค่าไว้ที่ใด และเป็นไปได้ไหมที่จะทำการแมปใหม่อีกครั้ง
ฉันจะทราบได้อย่างไรว่าคีย์ใดถูกตั้งค่าเป็นของฉัน&lt;Leader&gt;และฉันจะทำการแมปใหม่ได้อย่างไร

4
ฉันจะแก้ไขสัญลักษณ์แถบสถานะในปลั๊กอินสายการบินได้อย่างไร
ฉันติดตั้งปลั๊กอินของสายการบินเพื่อให้มีแถบสถานะที่กำหนดเองดังที่เห็นในภาพด้านล่าง: อย่างไรก็ตามแถบสถานะของฉันเป็นการนำเสนอสัญลักษณ์&lt;, และ&gt;&gt; &lt;ฉันจะแก้ไขปัญหานี้ได้อย่างไร

10
ฉันจะล้างคำที่ไฮไลต์ในเอกสารปัจจุบันได้อย่างไร (เช่นหลังจากค้นหาคำ)
เมื่อคุณค้นหาคำในไฟล์ที่มีลักษณะคล้าย/console.logกันอินสแตนซ์ทั้งหมดของconsole.logจะถูกเน้น เมื่อคุณไม่สนใจสิ่งเหล่านี้การไฮไลต์อาจทำให้เสียสมาธิ /asntehuaกลยุทธ์ปัจจุบันของฉันสำหรับการลบไฮไลต์คือการทำสิ่งที่ชอบ มีวิธีที่เหมาะสมในการลบคำนี้ออกหรือไม่?
61 search  highlight 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.