ฉันต้องการเพิ่ม*
ที่ส่วนท้ายของแต่ละบรรทัดใน Vim
ฉันลองใช้รหัสไม่สำเร็จ
:%s/\n/*\n/g
ฉันต้องการเพิ่ม*
ที่ส่วนท้ายของแต่ละบรรทัดใน Vim
ฉันลองใช้รหัสไม่สำเร็จ
:%s/\n/*\n/g
คำตอบ:
:%s/$/\*/g
ควรทำงาน. ดังนั้นควร:%s/$/*/g
เป็นMrWigglesชี้ให้เห็นอย่างถูกต้อง
g
ตั้งค่าสถานะจึงไม่จำเป็น
แม้สั้นกว่าคำสั่ง: การค้นหา:
:%norm A*
นี่คือความหมาย:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
:
สิ่งนี้จะเติมคำสั่งล่วงหน้า:'<,'>
ที่คุณสามารถทำได้:'<,'>norm A*
I
แทน -:%norm I*
นอกจากนี้:
:g/$/norm A*
นอกจากนี้:
gg<Ctrl-v>G$A*<Esc>
g
เป็นglobal
คำสั่งที่ทำบางสิ่งบางอย่างกับทุกบรรทัดที่ตรงกัน $
ตรงกับทุกบรรทัด มันอาจจะยังหรือ^
.*
norm ดำเนินการคำสั่งที่ปกติคุณใช้ในโหมดคำสั่ง ดังนั้นA*
หมายถึงผนวก*
ท้ายบรรทัด
ฉันคิดว่าการใช้โหมดบล็อกภาพเป็นวิธีที่ดีกว่าและหลากหลายกว่าสำหรับการจัดการกับสิ่งประเภทนี้ นี่คือตัวอย่าง:
This is the First line.
This is the second.
The third.
ในการแทรก "Hello world" (space + clipboard) ที่ท้ายแต่ละบรรทัดเหล่านี้:
ผลลัพธ์คือ:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
(ตัวอย่างจากVim.Wikia.com )
jj
หนึ่งสามารถกดG
เพื่อย้ายไปยังบรรทัดสุดท้าย สิ่งนี้มีประโยชน์ในไฟล์ขนาดใหญ่โดยที่การกดj
จนกว่าคุณจะกดบรรทัดสุดท้ายก็ใช้ไม่ได้
หากคุณต้องการเพิ่ม Hello world ในตอนท้ายของแต่ละบรรทัด:
:%s/$/HelloWorld/
หากคุณต้องการทำสิ่งนี้สำหรับจำนวนบรรทัดที่ระบุจาก 20 ถึง 30 ใช้:
:20,30s/$/HelloWorld/
หากคุณต้องการทำสิ่งนี้ในตอนเริ่มต้นของแต่ละบรรทัดให้ใช้:
:20,30s/^/HelloWorld/
คุณไม่ต้องการจริงๆg
ในตอนท้าย ดังนั้นมันจะกลายเป็น:
:%s/$/*
หรือถ้าคุณแค่อยากให้*
พูดบรรทัดที่ 14-18:
:14,18s/$/*
หรือ
:14,18norm A*
ทางเลือกหนึ่งคือ:
:g/$/s//*
*
นี้จะได้พบกับทุกสมอปลายสายและแทนด้วย ฉันพูดว่า "ตัวแทน" แต่อันที่จริงแล้วมันเป็นเรื่องที่เพิ่มเติมเนื่องจากสมอเป็นสิ่งพิเศษมากกว่าตัวละครปกติ สำหรับข้อมูลเพิ่มเติมโปรดดูที่พลังของกรัม - ตัวอย่าง
:% s / \ n / * \ r / g
คนแรกของคุณถูกต้องที่อื่น แต่ Vim ต้องมีการจัดการขึ้นบรรทัดใหม่ที่แตกต่างกันด้วยเหตุผลบางประการ
%s/\s*$/\*/g
นี่จะเป็นการหลอกลวงและทำให้แน่ใจว่าไม่มีการเว้นวรรคนำหน้า
:s///
,\n
สอดคล้องกับตัวละครโมฆะ ส่วนที่:help sub-replace-special
เกี่ยวข้อง