ในกลุ่มJคีย์จะรวมสองบรรทัดเข้าด้วยกัน มีการผสมคีย์ในตัวที่คล้ายคลึงกันเพื่อแยกบรรทัดด้วยการขึ้นบรรทัดใหม่ (ที่ตำแหน่งเคอร์เซอร์หรือคล้ายกัน) หรือไม่
อีกวิธีหนึ่งจะเป็นวิธีที่แข็งแกร่งที่สุดในการกำหนดชุดคีย์เพื่อทำสิ่งนั้น (ในโหมดปกติไม่ใช่โหมดแทรก)
ในกลุ่มJคีย์จะรวมสองบรรทัดเข้าด้วยกัน มีการผสมคีย์ในตัวที่คล้ายคลึงกันเพื่อแยกบรรทัดด้วยการขึ้นบรรทัดใหม่ (ที่ตำแหน่งเคอร์เซอร์หรือคล้ายกัน) หรือไม่
อีกวิธีหนึ่งจะเป็นวิธีที่แข็งแกร่งที่สุดในการกำหนดชุดคีย์เพื่อทำสิ่งนั้น (ในโหมดปกติไม่ใช่โหมดแทรก)
คำตอบ:
ไม่ไม่มีคำสั่งในตัวสำหรับสิ่งนั้น
เมื่อฉันต้องการที่จะแยกบนที่ฉันทำ<Space>
r<CR>
--- แก้ไข ---
ความคิดเห็น @ keith-nicholas ทำให้ฉันนึกถึงคำถามนี้ FWIW ฉันคิดวิธี "สากล" หวังว่าในเวลาเฉลี่ย:
function! BreakHere()
s/^\(\s*\)\(.\{-}\)\(\s*\)\(\%#\)\(\s*\)\(.*\)/\1\2\r\1\4\6
call histdel("/", -1)
endfunction
nnoremap <key> :<C-u>call BreakHere()<CR>
r<CR>
นั้นฉลาดจริงๆ! ขอบคุณ!
s<CR>
ยังคงเยื้อง แต่r<CR>
ไม่ได้ทำ
a
Enter Escเพื่อแยกทางด้านขวาของเคอร์เซอร์หรือi
Enter Escเพื่อแยกไปทางซ้าย
วิธีที่ง่ายที่สุดที่ฉันพบในการแบ่งบรรทัดใน Vim คือคำสั่งโหมดปกติgq
(พิมพ์ตัวอักษรทั้งสองอย่างต่อเนื่องอย่างรวดเร็วในโหมดปกติหรือโหมดภาพ):
gq
ด้วยท่าทางตัวอย่างเช่นgql
จะแบ่งหนึ่งบรรทัดเป็นความกว้างที่ตั้งไว้ในปัจจุบัน หากต้องการตั้งค่าความกว้างของเส้นแบ่งที่จะแตกต่างจากการตั้งค่าปัจจุบันของคุณคุณสามารถใช้
:set textwidth=<n>
โดยที่ n = จำนวนอักขระที่คุณต้องการในหนึ่งบรรทัดเช่น 10 และเปลี่ยนกลับเป็นความกว้างปกติของคุณเมื่อคุณทำเสร็จแล้ว
ได้ข้อมูลนี้จาก Youtube วิดีโอโดย Kholidfu ที่แสดงให้เห็นถึงวิธีการเข้าร่วมและสายแยกในโหมดปกติโดยใช้การเคลื่อนไหว: กลุ่ม Tutorial - เข้าร่วมและเส้นสปลิต
คุณสามารถกำหนดแผนที่ของคุณเอง ในการกำหนด z เป็นคำสั่งตัวอย่างเช่น:
:map z i<CTRL+m>
คุณสามารถบันทึกแมโคร:
ในโหมดปกติให้พิมพ์ "q +" เพื่อเริ่มการบันทึก กด "i" แมโครที่คุณต้องการบันทึก จากนั้นกดปุ่ม "q" อีกครั้งเพื่อหยุดการบันทึก
เพื่อใช้มาโครไปที่โหมดปกติและพิมพ์ "@ + ตัวอักษร"
ในกรณีของฉันฉันใช้ "b" เพื่อใช้แมโครนี้: เพื่อบันทึกประเภทในโหมดปกติ "qbiq" เพื่อใช้ประเภทในโหมดปกติ "@b"