แก้ไขคำที่แตกต่างพร้อมกันหนึ่งบรรทัดเดียวกันใน Sublime Text พร้อมตัวเลือกทวีคูณ


14

เป็นไปได้หรือไม่ที่จะแก้ไขมากกว่าหนึ่งคำพร้อมกันซึ่งอยู่ในบรรทัดเดียวกัน

ตัวอย่างเช่นสมมติว่าฉันมีสิ่งนี้:

Spam and Eggs is all you need for a healthy breakfast

และฉันต้องการเปลี่ยนบรรทัดเป็น:

organic_Spam and organic_Eggs is all you need for a healthy breakfast

ฉันต้องการไฮไลต์ "สแปม" และ "ไข่" และเติม "organic_" พร้อมกันเพื่อ "สแปม" และ "ไข่" เล็กน้อยเช่นการใช้บล็อกภาพเพื่อเขียนพร้อมกันในบรรทัดที่แตกต่างกัน แต่ที่นี่เขียนเนื้อหาในบรรทัดเดียวกัน ฉันเห็นเพื่อนร่วมงานทำสิ่งนี้ด้วย Sublime Text และลองใช้ googling แต่ก็ไม่มีประโยชน์



ฉันมักจะคิดว่าในฟังก์ชั่นการเลือก / เคอร์เซอร์ที่หลากหลายเป็นเพียงแค่ตาหวาน ...
เคน

คำตอบ:


18

ฉันเห็นด้วยกับอเล็กซานเดที่นี่ ในการแก้ไขแบบวันต่อวันฉันอาจจะใช้.คำสั่งด้วยเช่นกัน แต่ถ้าคุณต้องการที่จะดำเนินการเพียงคำสั่งเดียวฉันจะใช้คำสั่งทดแทน:

:s/S\|E/organic_&/g

ในขณะที่เป็นรูปแบบการจับคู่จาก&/S\|E/


21

ในกลุ่มไม่มีเคอร์เซอร์หลายตัวเหมือนใน Sublime Text (แต่มีปลั๊กอินบางอย่างที่ฉันจำได้) แต่มันก็ไม่ใช่สิ่งที่สำคัญสำหรับเสียงเรียกเข้าเพราะมีวิธีอื่นในการบรรลุเป้าหมายนี้ ตัวอย่างเช่นคุณมีสายนี้

Spam and Eggs is all you need for a healthy breakfast

ฉันจะทำสิ่งนี้: วางเคอร์เซอร์ในโหมดปกติบนตัวอักษรตัวแรกของSpamและป้อนiorganic_Escจากนั้นสองครั้งwเพื่อกระโดดบนEggsและกด.(จุด) เพื่อทำซ้ำการกระทำล่าสุด ดังนั้นสำหรับฉันนี่เป็นสิ่งที่มีประสิทธิผลมากกว่าใน Sumlime Text แต่อาจจะไม่แฟนซีและหยั่งรู้ได้

อย่างไรก็ตามมีบางส่วนของสิ่งที่ประมวลผลล่วงหน้าสำหรับการกระทำนี้ในทั้งสองบรรณาธิการใน Sublime Text เป็นสถานที่ที่เลือกสำหรับตำแหน่งเคอร์เซอร์ใหม่หลายตำแหน่งพร้อมกับปุ่มลัดและหลังจากทั้งหมดนี้คุณสามารถแก้ไขคำพร้อมกัน ใน Vim การ "preprocessing" แบบนี้เกิดขึ้นจริงในขณะที่แก้ไขบรรทัดฉันหมายถึงทุกww.สิ่งนี้


3

หากคุณจริงๆต้องการการสนับสนุนเคอร์เซอร์ที่หลายเช่น Sublime คุณสามารถใช้ปลั๊กอินนี้: https://github.com/terryma/vim-multiple-cursors

มันไม่ได้เป็นวิธีที่ดี แต่ฉันใช้บ่อยและใช้งานได้ดี

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