ใน vi ฉันสามารถใช้o
หรือO
เพื่อเพิ่มบรรทัดว่างและเข้าสู่โหมดแทรก แต่ถ้าฉันต้องการอยู่ในโหมดคำสั่งจะมีคำสั่งสำหรับสิ่งนี้หรือไม่?
ใน googling ฉันเห็นคำแนะนำเพื่อเพิ่มเนื้อหาลงใน vimrc ของฉัน แต่ดูเหมือนว่าควรมีวิธีที่ง่ายกว่า (ซึ่งจะใช้งานได้เสมอ)
ใน vi ฉันสามารถใช้o
หรือO
เพื่อเพิ่มบรรทัดว่างและเข้าสู่โหมดแทรก แต่ถ้าฉันต้องการอยู่ในโหมดคำสั่งจะมีคำสั่งสำหรับสิ่งนี้หรือไม่?
ใน googling ฉันเห็นคำแนะนำเพื่อเพิ่มเนื้อหาลงใน vimrc ของฉัน แต่ดูเหมือนว่าควรมีวิธีที่ง่ายกว่า (ซึ่งจะใช้งานได้เสมอ)
คำตอบ:
ตามVIM FAQคุณสามารถใช้:put
คำสั่ง:
12.15 ฉันจะแทรกบรรทัดว่างด้านบน / ใต้บรรทัดปัจจุบันโดยไม่ต้องเข้าสู่โหมดแทรกได้อย่างไร
คุณสามารถใช้คำสั่ง ": put" ex เพื่อแทรกบรรทัดว่าง ตัวอย่างเช่นลอง
: put = ''
: ใส่! = ''สำหรับข้อมูลเพิ่มเติมอ่าน
: ช่วย: ใส่
แต่จริงๆแล้วมันง่ายกว่าที่จะเพิ่ม:
map <Enter> o<ESC>
map <S-Enter> O<ESC>
.vimrc
ที่คุณ วิธีนี้คุณสามารถกดEnter
หรือShift-Enter
ในnormal mode
การแทรกบรรทัดว่างด้านล่างหรือด้านบนของบรรทัดปัจจุบัน แน่นอนแทน<Enter>
และ<S-Enter>
ด้วยกุญแจที่คุณต้องการ
ส่วนหนึ่งของการใช้เสน่ห์VI
คือการมีโหมดคำสั่งสำหรับจัดการข้อความและโหมดแก้ไขสำหรับการเพิ่มข้อความ สิ่งนี้ทำให้คุณไม่ต้องกด CTRL เพื่อทำสิ่งต่างๆ
คำแนะนำอื่น ๆ อาจใช้งานได้ - ฉันไม่ได้ลองเลย - แต่ดูเหมือนว่าพวกเขาต้องการตัวอักษรไม่กี่ตัวหรือจัดการกับVI
สภาพแวดล้อมของคุณมากเกินไป
ลองใช้o[ESC]
ตามด้วย a .
สำหรับแต่ละบรรทัดใหม่ที่คุณต้องการเพิ่มหรือ5.
เพื่อเพิ่ม 5 บรรทัด สิ่งนี้เร็วกว่ามากและจะสามารถติดตั้งVI
ได้ตลอดเวลา
o'd
เพิ่มย่อหน้าใหม่ใน VI เพียงเพื่อจะพบว่าย่อหน้าที่น่ารักนั้นจริง ๆ แล้วมีหกบรรทัดที่แตก / ห่อคำอย่างระมัดระวัง
ในกลุ่มนอกจากนี้ยังมีหรือ:normal o
:normal O
นี่จะเพิ่มบรรทัดว่างหลังบรรทัดปัจจุบัน:
:put _
หรือระบุบรรทัดที่จุดเริ่มต้น
บน Vim 7.3:
<number>o<esc>
สร้างบรรทัดว่างเพียงหนึ่งบรรทัด
<esc>
คุณไปอีกครั้งจากโหมดแทรกไปยังโหมดคำสั่ง ฉันคิดว่าเขากำลังมองหาคำตอบที่ไม่ไปแทรกโหมดเลย
unimpaired.vimของ Tim Pope ทั้งคู่ - การจับคู่การจับคู่ที่มีประโยชน์และLineJugglerของฉันเอง- ทำซ้ำและย้ายไปรอบ ๆ ปลั๊กอินปลั๊กอินให้]<Space>
การแมปสั้น ๆ ที่มีประโยชน์สำหรับสิ่งนี้
หากต้องการแทรกบรรทัดว่างหลังบรรทัดปัจจุบันขณะอยู่ในโหมดคำสั่งให้ใช้:
: r !echo
นี่คือr
คำสั่ง" ead in a file" แต่แทนที่จะให้ชื่อไฟล์เราบอกให้อ่านเอาต์พุตของคำสั่ง shell ( !
); คำสั่งเชลล์echo
นั้นเพียงพิมพ์บรรทัดว่าง หลังจากแทรกบรรทัดว่างคุณยังคงอยู่ในโหมดคำสั่ง
ฉันประหลาดใจที่ไม่มีใครพูดถึงเรื่องนี้:
ใช้ 'r' ตามด้วย 'Enter key' ในโหมดบรรทัดคำสั่ง
มางานปาร์ตี้ช้ากว่า 7 ปี :)
r
แน่นอนแทนที่อักขระปัจจุบัน ยังคงนำคุณเข้าสู่โหมดคำสั่ง
.
เพื่อทำซ้ำได้ แต่คุณสามารถทำได้<number>o<esc>
เช่น:5o<esc>