Sublime Text 2 การแก้ไขหลายบรรทัด


147

ฉันต้องการแก้ไขหลายบรรทัดและทุกคำ "" ในบรรทัดนั้น ตัวอย่างเช่น:

45 28 42 65
24 87 47 95
01 25 87 98

ฉันต้องการที่จะเลือกทุกจำนวนทั้งหมดในทุกบรรทัดและใส่ "0x" ก่อนมันดังนั้นมันจะมีลักษณะ:

0x45 0x28 0x42 0x65
0x24 0x87 0x47 0x95
0x01 0x25 0x87 0x98

ฉันรู้ว่าCtrlเครื่องหมายshift+ Lเพื่อรับเคอร์เซอร์ในแต่ละบรรทัด แต่ฉันจะรับเคอร์เซอร์หน้าตัวเลขทุกตัวเพื่อแก้ไขมวลได้ทั้งหมดในครั้งเดียวได้อย่างไร


มันอาจจะช้าในการตอบคำถามนี้ แต่นี่คือลิงค์ที่คุณอาจพบคำตอบสำหรับคำถาม sublimetext.com/docs/3/…
Alexander

คำตอบ:


282

เน้นเส้นและใช้:

  • Windows: Ctrl+ Shift+L
  • Mac: Cmd ⌘+ Shift+L

จากนั้นคุณสามารถเลื่อนเคอร์เซอร์ไปที่เนื้อหาหัวใจของคุณและแก้ไขทุกบรรทัดในครั้งเดียว

หรือเรียกอีกอย่างว่า "แยกเป็นเส้น" ในเมนู "การเลือก"


ใช่ แต่ฉันจะแก้ไขหมายเลขทุกบรรทัดในเวลาเดียวกันได้อย่างไร เช่นถ้าฉันต้องทำเพียงบรรทัดแรกฉันสามารถแก้ไขทุกหมายเลขในบรรทัดแรกได้ในครั้งเดียวหรือไม่ ถ้านั่นทำให้รู้สึกใด ๆ
Syperus

คุณทำไม่ได้ - คุณสามารถมีเคอร์เซอร์ได้ในที่เดียวในทุกบรรทัด แต่คุณสามารถย้ายไปที่จุดเริ่มต้นของบรรทัดเพิ่ม 0x ใช้ alt> เพื่อเลื่อนไปตามคำเดียวและเพิ่ม 0x อีกครั้ง
โอเว่น

28
ไม่เป็นความจริง - คุณสามารถมีเคอร์เซอร์ได้มากเท่าที่คุณต้องการในบรรทัด สิ่งที่คุณต้องทำคือCtrl-click(ใน Windows) เพื่อวางมัน
MattDMo

3
@ Matto ใช่ใช่ !! นั่นคือสิ่งที่ฉันกำลังมองหา คุณบังเอิญรู้ว่าแป้นพิมพ์ลัดเพื่อเลือกทั้งหมดเช่นนั้นหรือไม่? ฉันจะดูรอบ ๆ และดูว่าฉันสามารถหามันได้หรือไม่
Syperus

เมื่อฉันใช้Ctrl+ Shift+ Lมันจะเลือกทุกบรรทัด แต่เคอร์เซอร์ในแต่ละบรรทัดจะอยู่ที่จุดเริ่มต้นหรือจุดสิ้นสุดของบรรทัด ถ้าฉันกดลูกศรซ้ายในความพยายามที่จะดึงเคอร์เซอร์ทั้งหมดกลับไปที่จุดเริ่มต้นของแต่ละบรรทัดมันจะย้ายเคอร์เซอร์ไปข้างหลังสัมพันธ์กับตำแหน่งที่พวกเขาอยู่ดังนั้นพวกเขาจึงยังคงไม่เหมือนกันที่ตำแหน่งเดียวกันในบรรทัด ฉันจะรับเคอร์เซอร์ทั้งหมดได้อย่างไรเมื่อเริ่มต้นบรรทัด (สำหรับบริบทฉันแค่พยายามเพิ่ม[space]*[space]ที่จุดเริ่มต้นของแต่ละบรรทัด)
user1063287

84

ใช้เคอร์เซอร์และการเลือกคอลัมน์หลายรายการ

ในกรณีของคุณคุณเพียงแค่วางเคอร์เซอร์ที่จุดเริ่มต้นของแต่ละคอลัมน์ที่มี "คำ"

Linux และ Windows

  • คลิก & ลากเพื่อเลือกคอลัมน์: Shift+RightMouseBtn
  • เพิ่มคอลัมน์อื่น ๆ เพื่อเลือกโดยคลิก & ลาก: Ctrl+Shift +RightMouseBtn
  • ลบคอลัมน์ออกจากส่วนที่เลือก: Alt+Shift +RightMouseBtn
  • เพิ่มเคอร์เซอร์เดี่ยว: Ctrl +LeftMouseBtn
  • ลบเคอร์เซอร์แต่ละรายการ: Alt+LeftMouseBtn

Mac

  • คลิก & ลากเพื่อเลือกคอลัมน์: Option⌥+LeftMouseBtn
  • เพิ่มคอลัมน์อื่น ๆ เพื่อเลือกโดยคลิก & ลาก: Option⌥+LeftMouseBtn
  • ลบคอลัมน์ออกจากส่วนที่เลือก: Cmd⌘+Option⌥ + shift+LeftMouseBtn
  • เพิ่มเคอร์เซอร์เดี่ยว: Cmd⌘ +LeftMouseBtn
  • ลบเคอร์เซอร์แต่ละอัน: Cmd⌘+ Option⌥+ shift+LeftMouseBtn

จากนั้นแก้ไขตามต้องการ ในกรณีของคุณพิมพ์0 ,x ,

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


อ้างอิง:



3

ฉันไม่แน่ใจว่าเป็นไปได้ "ออกจากกล่อง" และน่าเสียดายที่ฉันไม่รู้จักปลั๊กอินที่เหมาะสมเช่นกัน เพื่อแก้ปัญหาที่คุณแนะนำคุณสามารถใช้นิพจน์ทั่วไป

  1. Cmd + F (ค้นหา)
  2. Regexp: [^ ]+(หรือ\d+หรืออะไรก็ได้ที่คุณต้องการ)
  3. ตัวเลือก + F (ค้นหาทั้งหมด)
  4. แก้ไขมัน

ปุ่มลัดอาจแตกต่างกันไปขึ้นอยู่กับระบบปฏิบัติการและการตั้งค่าส่วนตัว (ของฉันใช้สำหรับ OS X)


ไม่จำเป็นต้องใช้ปลั๊กอิน ใช้ Alt + Enter ที่ส่วนท้ายสำหรับ Linux
elomage

2

ฉันกำลังเผชิญปัญหาเดียวกันบน Linux สิ่งที่ฉันทำคือเลือกเนื้อหาทั้งหมด (ctrl-A) จากนั้นกด ctrl + shift + L มันให้เคอร์เซอร์แต่ละบรรทัดแล้วคุณสามารถเพิ่มเนื้อหาที่คล้ายกันในแต่ละคอลัมน์ .

นอกจากนี้คุณสามารถดำเนินการอื่น ๆ เช่นตัดคัดลอกและวางคอลัมน์อย่างชาญฉลาด

PS: - หากคุณต้องการเลือกชุดข้อมูลสี่เหลี่ยมผืนผ้าจากข้อความคุณสามารถกด Shift และกดปุ่มเมาส์ขวาค้างไว้จากนั้นเลือกข้อมูลในรูปแบบสี่เหลี่ยมผืนผ้า จากนั้นกด CTRL + SHIFT + L เพื่อรับเคอร์เซอร์ในแต่ละบรรทัด


2

Windows: ฉันต้องการ Alt + F3 เพื่อค้นหาสตริงและเปลี่ยนอินสแตนซ์ทั้งหมดของสตริงการค้นหาในครั้งเดียว

http://www.sublimetext.com/docs/selection


Alt + F3 ใช้งานได้กับ Linux และด้วย Sublime Text 3 นี่เป็นวิธีที่รวดเร็วและง่ายกว่าในการแก้ไขสตริงเดียวกันในไฟล์
kiamlaluno

2

บน Windows, ฉันชอบCtrl+ +AltDown

มันเลือกบรรทัดหนึ่งโดยหนึ่งและเริ่มโหมดตัวแก้ไขหลายบรรทัดโดยอัตโนมัติ มันเร็วกว่านี้เล็กน้อย หากคุณมีบรรทัดจำนวนมากให้แก้ไขจากนั้นเลือกข้อความและCtrl+ Shift+ Lเป็นตัวเลือกที่ดีกว่า



-1

เป็นการดีที่จะเลือกแต่ละตัวเลขสำหรับชุดตัวเลขขนาดเล็กเช่นในตัวอย่างของคุณ แต่สำหรับคอลเลกชันขนาดใหญ่คุณสามารถทำการค้นหา regex ซึ่งจะทำงานให้คุณ

Ctrl+ Fจะเปิดแถบค้นหา

Regex เปิดใช้งานการค้นหาโดยคลิกที่ปุ่ม ". *" ทางด้านซ้ายสุด

พิมพ์ "\ d +" เพื่อค้นหาการเกิดขึ้นทั้งหมด 1 หลักหรือมากกว่า การคลิกปุ่ม "ค้นหาทั้งหมด" จะเป็นการเลือกตัวเลขเหล่านี้แยกกัน

จากนั้นคุณสามารถใช้Ctrl+ Shift+ Lเพื่อแปลงส่วนที่เลือกเป็นหลายเคอร์เซอร์ จากที่นี่คุณสามารถทำตามที่คุณต้องการ

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