สมมติว่าฉันมีไฟล์ข้อความที่มีเก้าบรรทัดต่อไปนี้:
foo
bar
baz
qux
quux
ฉันจะใช้ Sublime Text 2 เพื่อลบบรรทัดว่าง / ว่างทั้งสี่ออกจากห้าบรรทัดได้อย่างไร
สมมติว่าฉันมีไฟล์ข้อความที่มีเก้าบรรทัดต่อไปนี้:
foo
bar
baz
qux
quux
ฉันจะใช้ Sublime Text 2 เพื่อลบบรรทัดว่าง / ว่างทั้งสี่ออกจากห้าบรรทัดได้อย่างไร
คำตอบ:
เลือกข้อความ
กด:
ตรวจสอบให้แน่ใจว่าคุณได้เลือก 'นิพจน์ปกติ' โดยกด:
หาอะไร: ^\n
แทนที่ด้วย: (ไม่มีอะไรให้เว้นว่างไว้)
^(\r|\n\r?)
เพื่อครอบคลุมการขึ้นบรรทัดใหม่ทั้งหมด
^[\s]*?[\n\r]+
?
เนื่องจาก*
ยังมีค่าเท่ากับศูนย์ที่เกิดขึ้นและ\s*
จะจับคู่ส่วนเสริม '\ r' เมื่อเช่นการแก้ไขข้อความ windows ในระบบ linux ดังนั้น^\s*$
เคล็ดลับ
regexp ในคำตอบของ Hugo นั้นถูกต้องเมื่อไม่มีช่องว่างในบรรทัด ในกรณีที่มี regexp พื้นที่สามารถ^\s+$
^[\s]*?[\n\r]+
แทน ฉันทดสอบแล้วว่ามันใช้งานได้
นอกจากนี้ยังมีปลั๊กอิน ST2 / ST3 บางอย่างสำหรับงานดังกล่าว ฉันชอบสองคนนี้:
วิธีแรกมีสองวิธีในการลบบรรทัดว่าง / ไม่จำเป็นออก หนึ่งในนั้นเรียกว่าDelete Surplus Blank Lines
เท่ห์ ลบเฉพาะบรรทัดเหล่านั้นที่ตามด้วยบรรทัดว่างอื่น
ไม่ทราบด้วยซ้ำว่าสิ่งทั้งหมดนี้ทำงานได้อย่างไร แต่ฉันพยายาม
^\s*$
แล้วก็ใช้งานไม่ได้
สิ่งนี้^\s*
ใช้ได้สำหรับฉัน
{ข้อความประเสริฐ 3}
ฉันต้องใช้:
แทนที่ \ n ^ \ s * \ n ด้วย \ n
https://github.com/NicholasBuse/sublime_DeleteBlankLinesปลั๊กอินไม่ได้ทำอะไรที่ทุกคน
ความคิดเห็นของ @crates ทำงานสำหรับฉัน
ขั้นตอนที่ 1: กดที่ctrl+H
ขั้นตอนที่ 2: กดปุ่ม RegEX
ขั้นตอนที่ 3: เขียนสิ่งนี้ในการค้นหา: ^[\s]*?[\n\r]+
ขั้นตอนที่ 4: แทนที่ทั้งหมด
ง่ายกว่าที่ฉันคิด Ctrl+ Aตามด้วยCtrl+ จากนั้นเลือกนิพจน์ปกติH .*
แทนที่ด้วย\n\n
\n
Voila!
คุณกำลังมองหาสิ่งนี้:
^\n|^\s+$
จะไม่ลบบรรทัดหากมีเนื้อหาที่มีช่องว่างหรือแท็บด้านหน้า>
เช่น:
สิ่งเหล่านี้จะไม่ถูกลบ: ... space ... abc
... แท็บ ... abc
นี่จะ:
... พื้นที่ ... ... ไม่มีอะไรอื่น ...
... แท็บ ... ... ไม่มีอะไรอื่น ...
การใช้ตัวเลือกหลายตัว: เลือกตัวแบ่งบรรทัดหนึ่งคู่จากนั้นใช้การค้นหาด่วนทั้งหมด ( Alt+ F3) หรือเพิ่มด่วนถัดไป ( Ctrl+ D) ซ้ำ ๆ เพื่อเลือกทั้งหมด; จากนั้นกดEnterเพื่อแทนที่พวกเขาด้วยตัวแบ่งบรรทัดเดียว
พวกเขาเป็นวิธีที่ง่ายกว่าในการทำโดยไม่ต้อง regex คุณเพียงแค่เลือกข้อความทั้งหมด จากนั้นไปที่: แก้ไข -> Permute Lines -> Unique
นั่นคือทั้งหมดที่ และบรรทัดว่างทั้งหมดจะถูกลบ
อีกวิธีหนึ่งคุณสามารถใช้บรรทัดคำสั่งcc.dbl
ของ ConyEdit (ปลั๊กอิน) เพื่อลบบรรทัดว่างหรือบรรทัดว่าง
นอกจากนี้ยังมี "เข้าร่วมเส้น" หากบน OSX ให้เลือกข้อความทั้งหมดของคุณแล้วกด CMD-J สองสามครั้งและมันจะยุบการเลือกของคุณตามบรรทัดลบการขึ้นบรรทัดใหม่
แก้ไข: วิธีนี้จะทำให้คุณมีทุกสิ่งในบรรทัดเดียวซึ่งไม่ใช่สิ่งที่คุณขอ
ctrl-q
(บันทึกแมโคร) cmd-j
(ร่วมสาย) down arrow
, ctrl-q
(แมโครจบ) . จากนั้นshift-ctrl-q
ให้ทำซ้ำได้บ่อยตามต้องการ ...
สำหรับผู้ที่อยากรู้อยากเห็นโปรแกรมแก้ไขข้อความประเสริฐเอกสารทางการอาจจะน่าสนใจ!
มีแพ็คเกจที่ยอดเยี่ยม (สำหรับ Sublime 2 & 3) เรียกว่า ' Trimmer ' ซึ่งจะลบบรรทัดว่างเปล่า มันยังทำสิ่งที่มีประโยชน์อื่น ๆ อีกมากมาย
อ้างอิงสิ่งนี้: https://packagecontrol.io/packages/Trimmer
ในกรณีของฉันบางบรรทัดที่ว่างเปล่ามีช่องว่างความกว้างเป็นศูนย์อักขระ(U + 200b) หากต้องการกำจัดบรรทัดว่างรวมถึงบรรทัดที่มีอักขระ Unicode นี้:
\s\x{200b}|^\s
ใช้ find / replace ลองวางส่วนที่เลือกเริ่มต้นที่ท้ายบรรทัดด้านบนบรรทัดว่างและสิ้นสุดที่จุดเริ่มต้นของบรรทัดหลังช่องว่าง สิ่งนี้ใช้ได้กับบรรทัดว่างเดี่ยว คุณสามารถทำซ้ำกระบวนการสำหรับบรรทัดว่างหลายบรรทัดได้เช่นกัน CTRL- Hใส่การเลือกของคุณในกล่องค้นหาและวางบรรทัดใหม่หนึ่งบรรทัดในกล่องแทนที่ด้วยการคัดลอก / วางหรือวิธีอื่น
ในการค้นหาช่องว่างพิเศษและบรรทัดว่างให้กด Ctrl+ Shift+ F เลือกค้นหานิพจน์ปกติ
[\n\r]{2,}
แล้วแทนที่ด้วย
\n
เพื่อลบช่องว่างทุกประเภทในประเสริฐและ Dreamviewr
หาก ^\n
ทำงานไม่ถูกต้อง ===> ลอง .*[^\w]\n