Como pulo uma correspondência ao usar Ctrl + D para várias seleções no Sublime Text 2?

180

Eu tenho algum código como:

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

Eu quero renomear a variável "testVar". Quando defino vários cursores com Ctrl+ De edito a variável, "testVariable" também é selecionado e editado.

Existe uma maneira de pular algumas seleções enquanto configura vários cursores com Ctrl+ D?

Just_Mad
fonte

Respostas:

257

Basta usar Ctrl+ K, Ctrl+ D.

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

Precisa de um pouco de prática, mas faz o trabalho!

Romain
fonte
33
Na verdade, não é Ctrl + K + D, é Ctrl + K, Ctrl + D. Muito mais fácil digitá-los em série do que em paralelo!
Tim Keating
4
@ Qwerty: Alt + F3 Seleciona todas as ocorrências.
Emil Stenström
16
@Romain escreveu "Precisa de um pouco de prática". Eu acho que o que isso significa é que poderia ser mais intuitivo. Não pressione a combinação de teclas até que o que você deseja pular seja destacado. Por exemplo, se você tiver 3 correspondências e quiser pular a 2ª, destaque primeiro a 1ª, pressione CTRL + D para destacar a 2ª, ENTÃO pressione a combinação de teclas para pular a 2ª partida e destaque a 3ª. Socorro?
Tyler Collier
Adicione isso ao mapa de teclas do usuário e reduza o tempo de prática para quase 0! { "keys": ["ctrl+alt+d"], "command": "find_under_expand_skip" }
Mrchief
ótimo meu amigo !!
Juan
85

Você pode pressionar Ctrl+ Ke Ctrl+ Dao mesmo tempo para pular uma seleção. Se você foi longe demais com sua seleção, pode usar Ctrl+ Upara retornar à seleção anterior.

Nota : Substitua Ctrlpor Cmdpara Mac OS X.

A configuração padrão para isso pode ser visualizada em Preferences> Key Bindings-Defaultna barra de menus do aplicativo, onde você verá algo assim:

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

Se desejar, você pode configurar as chaves conforme suas necessidades, acessando Preferences> Key Bindings-Usere copie o código acima e altere as chaves.

SUB0DH
fonte
61

Se você tiver o cursor sobre a palavra e use Ctrl+ Dpara selecionar a palavra. Na próxima vez que você pressionar Ctrl+ D, deverá selecionar a próxima palavra destacada.

Se você clicar duas vezes para selecionar a palavra, Ctrl+ Dselecionará a sequência exata e não apenas as destacadas.

Em outras palavras, Ctrl+ Dsem nada destacado faz a pesquisa de palavras inteiras . Se você já tiver algo destacado, Ctrl+ Dfará a pesquisa de substring.

Eu testei e funciona no Sublime Text 2 Versão 2.0.1, Build 2217.

Atomicflare
fonte
11
Esta é realmente a única solução verdadeira para esse problema. As pessoas estão votando sem cérebro.
Qwerty 5/05
ctrl+ D Com nada selecionado é sensível caso também.
venkatvb
2
@vankatvb Não estou achando que isso seja verdade ... Ctrl+ Dcom nada selecionado ainda não faz distinção entre maiúsculas e minúsculas. Ele descreverá apenas correspondências que diferenciam maiúsculas de minúsculas, mas, na verdade, usar o atalho ou Alt+ F3selecionará aquelas que não correspondem a maiúsculas e minúsculas.
Schism
Btw aqui está a mesma resposta em outra pergunta: stackoverflow.com/a/18422707/782045
interestinglythere
7

Coloque o cursor antes da variável, não selecione a variável, pressione Ctrl+Dpara selecionar todas as ocorrências da variável, não o padrão.

n1nj4
fonte
1

Resposta atualizada para vscode em 2020 no windows, em keybindings.json adicione esta linha para ignorar a próxima ocorrência selecionada facilmente:

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

* sim, eu sei que a pergunta é para texto sublime, mas eu a encontrei pesquisando a mesma pergunta + vscode, por isso pode ajudar alguém, pois os mapeamentos são idênticos.

bevo009
fonte