Jak pominąć dopasowanie przy użyciu Ctrl + D dla wielu zaznaczeń w Sublime Text 2?


180

Mam trochę kodu, takiego jak:

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

Chcę zmienić nazwę zmiennej „testVar”. Kiedy ustawię wiele kursorów za pomocą Ctrl+ Di edytuję zmienną, „testVariable” jest również wybierane i edytowane.

Czy istnieje sposób pomijania niektórych zaznaczeń podczas ustawiania wielu kursorów za pomocą Ctrl+ D?

Odpowiedzi:


257

Wystarczy użyć Ctrl+ K, Ctrl+ D.

(dla OS X: Cmd+ K, Cmd+ D)

Potrzebuje trochę praktyki, ale wykonuje pracę!


33
To nie jest Ctrl + K + D, to Ctrl + K, Ctrl + D. Znacznie łatwiej jest pisać je szeregowo niż równolegle!
Tim Keating

4
@Qwerty: Alt + F3 Wybiera wszystkie wystąpienia.
Emil Stenström

16
@Romain napisał „Potrzebuje trochę praktyki”. Myślę, że to oznacza, że ​​może być bardziej intuicyjne. Nie naciskaj kombinacji klawiszy, dopóki nie zostanie podświetlone to, co chcesz pominąć. Np. Jeśli masz 3 mecze i chcesz pominąć drugi, najpierw zaznacz pierwszy, naciśnij CTRL + D, aby podświetlić drugi, a następnie naciśnij kombinację klawiszy, aby pominąć drugi mecz i zaznacz trzeci. Wsparcie?
Tyler Collier

Dodaj to do mapy użytkowników i skróć czas ćwiczeń do prawie 0! { "keys": ["ctrl+alt+d"], "command": "find_under_expand_skip" }
Mrchief,

świetnie mój przyjacielu !!
Juan

85

Możesz nacisnąć jednocześnie Ctrl+ Ki Ctrl+, Daby pominąć wybór. Jeśli wybrałeś zbyt daleko, możesz użyć Ctrl+, Uaby powrócić do poprzedniego wyboru.

Uwaga : Wymienić Ctrlz CmdMac OS X.

Domyślną konfigurację tego można wyświetlić, przechodząc do Preferences> Key Bindings-Defaultw pasku menu aplikacji, gdzie zobaczysz coś takiego:

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

Jeśli chcesz, możesz skonfigurować klucze zgodnie z własnymi potrzebami, przechodząc do Preferences> Key Bindings-Useri skopiuj powyższy kod, a następnie zmień klucze.


61

Jeśli kursor znajduje się nad słowem i użyj Ctrl+, Daby wybrać słowo. Następnym razem, gdy naciśniesz Ctrl+ D, powinno wybrać następne podświetlone słowo.

Jeśli klikniesz dwukrotnie, aby wybrać słowo, Ctrl+ Dwybierze dokładny ciąg, a nie tylko podświetlone.

Innymi słowy, Ctrl+ Dbez podświetlenia nic nie powoduje wyszukiwania całego słowa . Jeśli masz już coś wyróżnionego, Ctrl+ Dwykona wyszukiwanie podciągu.

Przetestowałem i działa w Sublime Text 2 Version 2.0.1, Build 2217.


11
To właściwie jedyne prawdziwe rozwiązanie tego problemu. Ludzie bez entuzjazmu wygłaszają głosy.
Qwerty

ctrl+ D Nic wybranym jest wielkość liter też.
venkatvb

2
@ vankatvb Nie uważam, że to prawda ... Ctrl+ Dnic nie jest zaznaczone, nie rozróżnia wielkości liter. Określi tylko dopasowania uwzględniające wielkość liter, ale w rzeczywistości użycie skrótu lub Alt+ F3spowoduje wybranie tych, które nie pasują do wielkości liter.
Schizm

Btw oto ta sama odpowiedź w innym pytaniu: stackoverflow.com/a/18422707/782045
ciekawe,

7

Umieść kursor przed zmienną, nie zaznaczaj zmiennej, naciśnij, Ctrl+Daby zaznaczyć każde wystąpienie zmiennej, a nie wzór.


1

Zaktualizowana odpowiedź na vscode w 2020 roku w systemie Windows, w keybindings.json dodaj ten wiersz, aby łatwo pominąć kolejne wybrane wystąpienie:

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

* tak, wiem, że pytanie dotyczy wysublimowanego tekstu, ale znalazłem go, przeglądając to samo pytanie + vscode, więc może to komuś pomóc, ponieważ odwzorowania są identyczne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.