มีวัตถุข้อความสำหรับบรรทัดปัจจุบันหรือไม่?
มีวัตถุข้อความ
^$
หรือไม่?
มีวัตถุข้อความสำหรับบรรทัดปัจจุบันหรือไม่?
มีวัตถุข้อความ^$
หรือไม่?
คำตอบ:
นี่คือวัตถุข้อความหยาบ "บรรทัด":
xnoremap il g_o0
onoremap il :normal vil<CR>
xnoremap al $o0
onoremap al :normal val<CR>
และวัตถุข้อความหยาบ "บัฟเฟอร์":
xnoremap i% GoggV
onoremap i% :normal vi%<CR>
--- แก้ไข ---
เป็น "ผู้ประกอบการ" เป็นคำสั่งที่ไม่ได้ทำอะไรด้วยตัวเอง: d
, y
ฯลฯ
การกดปุ่มเหล่านี้จะทำให้คุณอยู่ใน "โหมดรอดำเนินการ" ซึ่ง Vim รอให้คุณบอกสิ่งที่คุณต้องการให้เปิดใช้งาน ... ด้วย "การเคลื่อนไหวที่รอดำเนินการ"
คุณสามารถใช้:omap
หรือ:onoremap
กำหนดการเคลื่อนไหวที่รอดำเนินการที่กำหนดเอง เทคนิคที่ใช้ที่นี่ได้รับแรงบันดาลใจจาก:help omap-info
:
โปรดทราบว่าผมใช้:onoremap
เพราะil
, al
และi%
ไม่ได้อยู่แล้ว หากคุณกำลังเอาชนะเคลื่อนไหวหรือข้อความวัตถุที่มีอยู่ - พูดip
- คุณต้องใช้การทำแผนที่ :omap
recursive:
:help :map-operator
อธิบายวิธีการขั้นสูงเล็กน้อย
ดู:help v_o
สำหรับo
ในโหมดภาพ
o
(ผู้ประกอบการที่ค้างอยู่โหมด) ใน onoremap? อะไรo
ในโหมดภาพทำอย่างไร ฉันเดาว่ามันคือ "ด้านอื่น ๆ " เพราะดูเหมือนจะข้ามไปยังอีกด้านหนึ่งของการเลือก ... ฉันจะค้นหา:h
ได้อย่างไร ฉันไม่สามารถหามันด้วยหรือ:h x_o
:h o
ฉันขอแนะนำวิธีแก้ไขเพิ่มเติมให้ใช้ ^ แทน 0 (ดังนั้นบรรทัดจะเริ่มต้นที่จุดเริ่มต้นของอักขระตัวแรก:
xnoremap il g_o^
onoremap il :normal vil<CR>
xnoremap al $o^
onoremap al :normal val<CR>
ด้วยวิธีนี้ถ้าเราทำ "การเปลี่ยนแปลงในบรรทัด" มันจะเคารพในระดับการเยื้อง