ลบ / เพิ่มตัวแบ่งบรรทัดหลังสตริงเฉพาะโดยใช้ Sublime Text


95

การใช้ Sublime Text 2 - เป็นไปได้ไหมที่จะแทรกตัวแบ่งบรรทัด / ส่งคืนข้อความหลังจากสตริงที่ระบุในไฟล์ข้อความเช่นโดยใช้เครื่องมือFindReplace

(คำถามโบนัส: เป็นไปได้หรือไม่ที่จะลบตัวแบ่งบรรทัดทั้งหมดหลังจากสตริงที่ระบุ)

คำตอบ:


223

นี่คือวิธีที่คุณทำบน Mac:

Command+ F> ประเภทสตริง > Control+ Command+ G> ESC> Right Arrow> แบ่งบรรทัด


และWindows / Linux (ยังไม่ทดลอง):

Control+ F> ประเภทสตริง > Alt+ F3> ESC> Right Arrow> แบ่งบรรทัด


ส่วนที่สำคัญคือControl+ Command+ Gเพื่อเลือกการแข่งขันทั้งหมด
เมื่อคุณเลือกข้อความที่ต้องการแล้วคุณสามารถใช้เคอร์เซอร์หลายตัวที่มีให้เพื่อจัดการข้อความตามที่คุณต้องการ

Protip: คุณสามารถสร้างอินสแตนซ์เคอร์เซอร์หลายตัวได้ด้วยตนเองโดยใช้Command+ คลิก (หรือControl+ คลิก ) เพื่อให้ได้ผลลัพธ์ที่คล้ายกัน


1
สิ่งนี้ดูเหมือนจะพังทลายลงเมื่อฉันลองใช้ด้วยการค้นหานิพจน์ทั่วไปเช่น(this|that|the other)
Amanda

1
@ Amanda ลองใช้ Option + Enter แทน ESC (ทางลัดสำหรับปุ่ม "ค้นหาทั้งหมด")
Sara

1
มันคุ้มค่าที่จะกล่าวถึงกลยุทธ์เดียวกันนี้ใช้งานได้ดีสำหรับการลบตัวแบ่งบรรทัดที่ลงท้ายด้วยรูปแบบเฉพาะเช่น binary blobs ในไฟล์. reg ของ Windows: แทนที่จะใช้ลูกศรขวา + ตัวแบ่งบรรทัดให้ลองใช้ลูกศรซ้าย + ลบจนกว่าคุณจะได้สหภาพที่คุณต้องการ นอกจากนี้ปุ่มลัดของ Windows ของคุณยังถูกต้อง ฉันไม่มีอินสแตนซ์ Linux ที่สะดวกในการทดสอบ แต่ก็น่าจะดี
Tohuw

มีเงื่อนงำเกี่ยวกับวิธีการทำสิ่งนี้กับส่วนที่เลือกแทนที่จะเป็นไฟล์ทั้งหมดหรือไม่? Control + Command + G ล้างสิ่งที่เลือกและค้นหาทั้งหมดในไฟล์ทั้งหมด
Mauro

2
เห็นได้ชัดแล้ว ... ขอบคุณล้าน! นอกจากนี้ @Mauro - ฉันใช้ Windows และฉันสามารถใช้ ctrl + d เพื่อเลือกการวนซ้ำครั้งต่อไปของการเลือก บางทีฟังก์ชันเดียวกันนี้มีอยู่บน MAC ด้วย Command + d? คุณอาจต้องกดหลายครั้งเพื่อดูไฟล์ทั้งหมด
shanehoban

66

การใช้เครื่องมือ Find - Replaceสามารถทำได้สองวิธี:

  1. คลิกในช่องแทนที่แล้วกดCtrl+ Enterเพื่อแทรกขึ้นบรรทัดใหม่ (ช่องควรปรับขนาด แต่ไม่ปรับขนาดดังนั้นจึงยากที่จะเห็นการแทรกขึ้นบรรทัดใหม่)

  2. ภายในเครื่องมือค้นหา - แทนที่ให้เปิดใช้งานโหมดS&R regex (ไอคอนแรกทางด้านซ้าย.*แป้นพิมพ์ลัดคือAlt+ Ctrl/Cmd+ Rเพื่อเปิดใช้งาน / ปิดใช้งาน)

  3. พิมพ์\nในช่องแทนที่ทุกที่ที่คุณต้องการแทรกขึ้นบรรทัดใหม่

การแก้ปัญหาทั้งสองยังทำงานถ้าคุณต้องการที่จะหาบรรทัดใหม่เพียงแค่ทำมันในฟิลด์ค้นหา


ไม่พบโหมด S&R regex แต่วิธีแรกใช้ได้ดี!
hhh

@hhh: ถ้าคุณเปิดการค้นหาแทนที่เครื่องมือ , S & R โหมด regexเป็นไอคอนแรกบนซ้ายของเมนูเครื่องมือ (ดูเหมือน *.)
veducm

@veducm ใช่ฉันเห็นไอคอนนั้นตรงกับช่องค้นหา แต่ไม่ใช่สำหรับช่องแทนที่ อาจเป็นเพราะฉันมีเวอร์ชันที่ไม่ได้ลงทะเบียน?
hhh

1
@hhh มีเพียงไอคอนเดียวและเมื่อเปิดใช้งานจะใช้กับทั้งสองฟิลด์
veducm

@veducm ขอบคุณ ในที่สุดวิธีแก้ปัญหาง่ายๆ คุณรู้ไหมว่าทำไมเราต้องเปิดใช้นิพจน์ทั่วไป? สำหรับสตริงการแทนที่
sethi

8

แก้ไข -> เส้น -> เข้าร่วมบรรทัด (Ctrl + J)


สิ่งนี้ใช้ได้กับฉันในตัวแก้ไข Atom! เลือกวรรคและCtrl + J
rolfedh

4

คุณควรใช้เคอร์เซอร์หลายตัว ดูเอกสารที่ไม่เป็นทางการหรือบทช่วยสอนที่ดีนี้ นี่คือคำแนะนำสั้น ๆ ที่จะช่วยให้คุณเดินทางได้:

  1. วางเคอร์เซอร์บนสตริงที่สนใจ
  2. พิมพ์Command+ D(Mac) หรือControl+ D(Windows / Linux) เพื่อเลือกอินสแตนซ์ปัจจุบันของสตริง
  3. พิมพ์Command+ D(Mac) หรือControl+ D(Windows / Linux) เพื่อเลือกอินสแตนซ์ต่อเนื่องของสตริง
  4. อีกวิธีหนึ่งพิมพ์Control+ Command+ G(Mac) หรือControl+ Command+ Gเพื่อเลือกอินสแตนซ์ทั้งหมดของสตริงของคุณ
  5. ตอนนี้คุณมีเคอร์เซอร์หลายตัวดังนั้นให้ใส่หรือลบบรรทัดใหม่ของคุณตามที่คุณต้องการ
  6. (พิมพ์escเพื่อออกจากโหมดเคอร์เซอร์หลายตัว)

มีความสุข!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.