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?

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!


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.


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.


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.