Sublime Text 3 - พฤติกรรมเพิ่ม / ค้นหาการจับคู่ด่วน


14

สมมติว่าฉันกำลังทำงานกับไฟล์ใน Sublime Text 3 ที่มีการเกิดขึ้นหลายครั้งของตัวแปรตัวอักษรเดียวcซึ่งฉันต้องการเปลี่ยนชื่อเป็นชื่ออื่น

เมื่อฉันเลือกหนึ่งอินสแตนซ์ของตัวแปรนั้นด้วยเคอร์เซอร์ของฉัน Sublime Text จะไฮไลต์อินสแตนซ์อื่น ๆ ของตัวแปรนั้นให้ฉันโดยอัตโนมัติ:

ภาพไฮไลต์นี้เปิดใช้งานโดยการตั้งค่า: "match_selection": trueและแสดงให้เห็นชัดเจนว่าประเสริฐนั้นฉลาดพอที่จะเน้นเฉพาะอินสแตนซ์อื่น ๆ ของตัวละครนั้นซึ่งเกี่ยวข้องกับตัวแปร

อย่างไรก็ตามแม้จะมีไฮไลต์นี้ที่ระบุว่าควรจะเป็นไปได้ แต่ดูเหมือนว่าไม่มีวิธีที่ง่ายเลยในการเลือกเฉพาะcตัวแปรที่เน้นสีเหล่านี้โดยอัตโนมัติ

หากฉันต้องการเปลี่ยนชื่ออินสแตนซ์ทั้งหมดของตัวแปรอย่างรวดเร็วcโดยใช้เคอร์เซอร์หลายตัวไม่ว่าจะเป็นQuick Add Next ( cmd+D) หรือQuick Find All ( ctrl+cmd+G) แทนที่จะเลือกเฉพาะตัวแปรcนั้นฉันจะได้รับอินสแตนซ์ทั้งหมดของอักขระ 'c' ที่เลือก:

เห็นได้ชัดว่าไม่มีประโยชน์เลยเนื่องจากไม่มีความสัมพันธ์กับตัวแปรจริง มันเลือกตัวอักษรทั้งหมด "c" โดยไม่คำนึงถึงว่าเป็นตัวแปรที่เลือกหรือไม่

มีวิธีบังคับให้เพิ่มด่วนถัดไปและค้นหาด่วนทั้งหมดเพื่อให้ทำงานเหมือนกับกฎการไฮไลต์ที่การmatch_selectionตั้งค่าใช้หรือไม่ สิ่งนี้จะมีประโยชน์มากกว่าในกรณีนี้มากกว่าเพียงแค่เลือกตัวละครทุกตัวที่เลือก

ฉันพลาดอะไรไปรึเปล่า? ฉันไม่สามารถหาค้นหาด่วนทุกกรณีหรือเพิ่มอย่างรวดเร็วต่อไปตัวแปรตัวเลือกหรือวิธีการในการปรับแต่งการทำงานเริ่มต้นของการค้นหาด่วนทั้งหมดและเพิ่มอย่างรวดเร็วต่อไป เท่าที่ฉันสามารถบอกได้ตัวเลือกเดียวของฉันคือการเปลี่ยนชื่อด้วยตนเองทุกครั้งcหรือเขียน regex ที่กำหนดเองเพื่อให้ได้ผลลัพธ์เดียวกันกับอัลกอริทึมการเน้นดั้งเดิม

คำตอบ:


23

เคล็ดลับคือการเริ่มต้นด้วยการเลือกที่ว่างเปล่าด้วยเคอร์เซอร์ของคุณทางด้านซ้ายของคำที่คุณต้องการเลือก จากนั้นกดปุ่มCtrlG (หรือAltF3บน Windows / Linux) เพื่อเลือกอินสแตนซ์ทั้งหมดของคำนั้น:

รหัส lua

หรือตีD(CtrlDบน Win / Lin) เพื่อเริ่มเลือกทีละรายการ


1
โดยพื้นฐานแล้วสิ่งที่ฉันกำลังมองหาไชโย :) -
โยฮันเนส

ใช้งานได้หากคุณต้องการทั้งหมดในไฟล์ ฉันแค่ต้องการให้พวกเขาทั้งหมดที่อยู่ใกล้เช่นคุณได้รับด้วย Ctrl + D
Ben Dilts

@BenDilts ฉันไม่แน่ใจว่าสิ่งที่คุณถาม คุณพยายามจะทำอะไร?
MattDMo

สมมติว่าคุณมีไฟล์ที่มีสิบวิธีที่ต่างกันซึ่งแต่ละไฟล์มีตัวแปรโลคอลชื่อว่า "c" ฉันต้องการเลือกอย่างรวดเร็วในพื้นที่ขนาดเล็กกว่าไฟล์ทั้งหมด
เบ็นดิลต์

2
@BenDilts วางเคอร์เซอร์ของคุณทางด้านซ้ายของแรกและเลือกสิ่งที่คุณต้องการใช้Ctrl-Dเช่นเดียวกับที่ฉันพูดในคำตอบของฉัน
MattDMo

0

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

คลิกขวาที่ตัวแปร

เลือก Anaconda -> เปลี่ยนชื่อวัตถุภายใต้เคอร์เซอร์

ps หนึ่งสามารถดับเบิลคลิกที่ตัวแปรเพื่อตรวจสอบสิ่งที่เลือกจะเป็นก่อนที่จะดำเนินการเปลี่ยนชื่อ

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