ฉันจะข้ามการแข่งขันเมื่อใช้ Ctrl + D สำหรับการเลือกหลายรายการใน Sublime Text 2 ได้อย่างไร


180

ฉันมีรหัสเช่น:

testVar = { a: 1 };
testVariable1 = 2;
var c = testVar.a + testVariable2;
var d = testVar;

ฉันต้องการเปลี่ยนชื่อตัวแปร "testVar" เมื่อฉันตั้งเคอร์เซอร์หลายตัวพร้อมกับCtrl+ Dและแก้ไขตัวแปร "testVariable" ก็จะถูกเลือกและแก้ไข

มีวิธีข้ามการเลือกบางอย่างขณะตั้งค่าเคอร์เซอร์หลายรายการด้วยCtrl+ Dหรือไม่

คำตอบ:


257

ใช้เพียงCtrl+ K, +CtrlD

(สำหรับ OS X: Cmd+ K, Cmd+ D)

ต้องการการฝึกฝนนิดหน่อย แต่ทำให้งานสำเร็จลุล่วง!


33
ไม่ใช่ Ctrl + K + D จริง ๆ แล้วมันคือ Ctrl + K, Ctrl + D ง่ายกว่ามากในการพิมพ์ในอนุกรมแทนที่จะเป็นขนาน!
ทิมคีดที่

4
@Qwerty: Alt + F3 เลือกเหตุการณ์ทั้งหมด
Emil Stenström

16
@Romain เขียนว่า "ต้องการการฝึกฝนสักเล็กน้อย" ฉันคิดว่าสิ่งที่หมายถึงคือมันอาจจะง่ายขึ้น อย่ากดปุ่มคำสั่งผสมจนกว่าสิ่งที่คุณต้องการข้ามจะถูกเน้น เช่นถ้าคุณมี 3 แมทช์และคุณต้องการข้ามไฮไลต์ที่ 2 ก่อนอื่นไฮไลต์ที่ 1 ให้กด CTRL + D เพื่อไฮไลต์ที่ 2 จากนั้นกดคีย์ผสมเพื่อข้ามการจับคู่ที่ 2 และไฮไลต์ที่ 3 ช่วยด้วย?
Tyler Collier

เพิ่มสิ่งนี้ลงในแผนผังผู้ใช้และลดระยะเวลาฝึกซ้อมลงเหลือ 0! { "keys": ["ctrl+alt+d"], "command": "find_under_expand_skip" }
Mrchief

ดีเพื่อนของฉัน !!
Juan

85

คุณสามารถกดCtrl+ KและCtrl+ Dในเวลาเดียวกันเพื่อข้ามสิ่งที่เลือก หากคุณเลือกมากเกินไปคุณสามารถใช้Ctrl+ Uเพื่อกลับไปที่การเลือกก่อนหน้า

หมายเหตุ : แทนที่Ctrlด้วยCmdสำหรับ Mac OS X

การกำหนดค่าเริ่มต้นสำหรับสิ่งนี้สามารถดูได้โดยไปที่Preferences> Key Bindings-Defaultในแถบเมนูแอปพลิเคชันซึ่งคุณจะเห็นสิ่งนี้:

{ "keys": ["ctrl+d"], "command": "find_under_expand" },
{ "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" }

หากคุณต้องการคุณสามารถกำหนดค่าคีย์ตามความต้องการของคุณโดยไปที่Preferences> Key Bindings-Userและคัดลอกรหัสข้างต้นแล้วเปลี่ยนคีย์


61

หากคุณมีเคอร์เซอร์อยู่เหนือคำและใช้Ctrl+ Dเพื่อเลือกคำ ครั้งต่อไปที่คุณกดCtrl+ Dควรเลือกคำที่ไฮไลต์ถัดไป

หากคุณคลิกสองครั้งเพื่อเลือกคำCtrl+ Dจะเลือกสตริงที่แน่นอนไม่ใช่เฉพาะคำที่ไฮไลต์

กล่าวอีกนัยหนึ่งCtrl+ Dโดยที่ไม่มีไฮไลต์ทำการค้นหาด้วยคำทั้งหมด หากคุณมีบางสิ่งที่เน้นอยู่แล้วCtrl+ Dจะทำการค้นหาสตริงย่อย

ฉันได้ทำการทดสอบและใช้งานได้ใน Sublime Text 2 เวอร์ชัน 2.0.1, Build 2217


11
นี่เป็นทางออกเดียวที่แท้จริงสำหรับปัญหานี้ ผู้คนกำลังจู่โจมอย่างหงุดหงิด
Qwerty

ctrl+ D มีอะไรที่เลือกเป็นกรณีที่มีความสำคัญมากเกินไป
venkatvb

2
@vankatvb ฉันไม่พบว่าเป็นจริง ... Ctrl+ Dโดยที่ไม่มีสิ่งที่เลือกยังคงเป็นตัวพิมพ์เล็กสำหรับฉัน มันจะร่างเฉพาะรายการที่ตรงตามตัวพิมพ์ใหญ่ - เล็ก แต่ใช้จริงทางลัดหรือAlt+ F3จะเลือกรายการที่ไม่ตรงกับตัวพิมพ์ใหญ่ - เล็ก
แตกแยก

Btw นี่คือคำตอบเดียวกันในคำถามอื่น: stackoverflow.com/a/18422707/782045
น่าสนใจอีก

7

วางเคอร์เซอร์ไว้ข้างหน้าตัวแปรอย่าเลือกตัวแปรกดCtrl+Dเพื่อเลือกทุกครั้งของตัวแปรไม่ใช่รูปแบบ


1

อัปเดตคำตอบสำหรับ vscode ในปี 2020 บน windows ใน keybindings.json เพิ่มบรรทัดนี้เพื่อข้ามเหตุการณ์ที่เลือกถัดไปได้อย่างง่ายดาย:

  {
    "key": "ctrl+alt+d",
    "command": "editor.action.moveSelectionToNextFindMatch",
    "when": "editorFocus"
  },

* ใช่ฉันรู้ว่าคำถามนี้มีไว้สำหรับข้อความประเสริฐ แต่ฉันพบว่าโดย googling + + vscode คำถามเดียวกันดังนั้นจึงอาจช่วยคนได้เนื่องจากการจับคู่เหมือนกัน

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