ฉันมีข้อความบางส่วนถูกดึงโดยใช้ yiw
ในอีกบรรทัดหนึ่ง ฉันต้องการแทนที่ข้อความจากตำแหน่งเคอร์เซอร์ปัจจุบันจนถึงจุดสิ้นสุดบรรทัด ดังนั้นฉันจึงลอง v$p
อย่างไรก็ตาม นี่จะเป็นการลบบรรทัดใหม่ที่ท้ายบรรทัดซึ่งฉันไม่ต้องการให้เกิดขึ้นด้วย ฉันจะแก้ไขปัญหานี้ได้อย่างไร?
เป็นกลุ่มทดแทนจนสิ้นสุดบรรทัดในโหมดปกติ
คำตอบ (2)
คุณสามารถ:
ปรับพื้นที่การมองเห็นก่อนวาง:
v$hp
ใช้การเคลื่อนไหว
:help g_
หากคุณไม่มีช่องว่างต่อท้าย:vg_p
person
romainl
schedule
22.08.2020
คุณสามารถลบลงในการลงทะเบียนว่างแล้ววางด้วย "_Dp
อีกทางหนึ่ง หากคุณต้องการบันทึกข้อความที่คุณกำลังลบ คุณสามารถลบในบัฟเฟอร์ปกติ และผ่านจากบัฟเฟอร์ 0 ด้วย D"0p
ฉันพบว่าคีย์การลงทะเบียนดูเทอะทะ ดังนั้นฉันจึงมีแผนที่ใน .vimrc สำหรับพวกเขา:
" leader means "another option key like cmd or meta, but one you get to choose"
let mapleader = "\<Space>"
" get the yank register, not the thing you just deleted
nnoremap <Leader>p "0p
nnoremap <Leader>P "0P
" don't copy the thing you're gonna delete into the delete register
nnoremap <Leader>d "_d
nnoremap <Leader>D "_D
ด้วยการผูกเหล่านี้ ค่าจะกลายเป็น Dp
หรือ D p
ขึ้นอยู่กับว่าคุณต้องการเก็บข้อความที่ถูกลบหรือไม่
หากคุณไม่ต้องการยุ่งกับการลงทะเบียนเลย ก็มีวิธีง่ายๆ PlD
เสมอ
person
jeremysprofile
schedule
22.08.2020
PlD นั้นยอดเยี่ยมที่สุด (แม้ว่าจะไม่สวยงามนักก็ตาม) ฉันไม่อยากยุ่งกับรีจิสเตอร์ แต่คงจะได้ทำตามที่คุณอธิบายไว้!
- person piedpiper; 24.08.2020