มีวัตถุข้อความสำหรับบรรทัดปัจจุบันหรือไม่?
มีวัตถุข้อความ
^$หรือไม่?
มีวัตถุข้อความสำหรับบรรทัดปัจจุบันหรือไม่?
มีวัตถุข้อความ^$หรือไม่?
คำตอบ:
นี่คือวัตถุข้อความหยาบ "บรรทัด":
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- คุณต้องใช้การทำแผนที่ :omaprecursive:
: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>
ด้วยวิธีนี้ถ้าเราทำ "การเปลี่ยนแปลงในบรรทัด" มันจะเคารพในระดับการเยื้อง