Se eu selecionar uma variável (não apenas uma string) no meu código, todas as outras instâncias dessa variável receberão um traço (contorno branco) em torno delas:
Existe um atalho de teclado que permita selecionar todas as instâncias da variável e editá-las todas de uma vez?
Coisas que eu tentei:
⌘D, ⌘KE ⌘Ume permite selecioná-los um por um, mas eu tenho que excluir manualmente os jogos de cordas não variáveis:
E usar Ctrl⌘Gsimplesmente seleciona todas as correspondências de seqüência de caracteres:
Claramente, o Sublime é capaz de diferenciar entre correspondências de variáveis e seqüências de caracteres. Não há como selecionar apenas as correspondências de variáveis?
fonte
variable (not just any string)
. Isso simplesmente seleciona todas as ocorrências da sequência.Eu sei que a pergunta é sobre Macs, mas cheguei aqui procurando a resposta para o Ubuntu, então acho que minha resposta pode ser útil para alguém.
Fácil maneira de fazê-lo: AltF3.
fonte
foo
dentro, ainda não selecione o primeirofoo
. Em vez disso, basta colocar um cursor na palavrafoo
e depoisAlt-F3
. Voilafoo
não apenas as destacadas.Apesar de muito esforço, não encontrei uma maneira integrada ou assistida por plug-in para fazer o que você está tentando fazer. Concordo plenamente que deve ser possível, como o programa pode distinguir
foo
entrebuffoon
quando você realçá-lo, mas ninguém parece saber uma maneira de fazê-lo.No entanto, aqui estão algumas combinações de teclas úteis para selecionar palavras no Sublime Text 2:
Ctrl⌘G- seleciona todas as ocorrências da palavra atual ( AltF3no Windows / Linux)
⌘D- seleciona a próxima instância da palavra atual ( CtrlD)
⌘E, ⌘H- usa a seleção atual como o campo "Localizar" em Localizar e substituir ( CtrlE, CtrlH)
fonte
⌘+D
atua em todas as ocorrências da sequência. Por exemplo, se eu destacarfoo
, sublime maravilhosamente afaga todas as variáveisfoo
s, mas não a stringfoo
em minhaeject_buffoon
função. E, no entanto, usando as combinações de teclas acima, sou forçado a⌘+K
especificar manualmente as correspondências de string para evitar ter umaeject_bufbarn
função. Deve haver uma maneira melhor!foo_
(foo e o espaço a seguir) ou_foo_
(espaços antes e depois) e depois usar⌘-D
ouCtrl-⌘-D
.foo
muitas vezes mostra-se como(foo)
,_foo,
,(foo,
, e_foo}
, por isso,_foo_
é bastante insatisfatória.Isso funcionou para mim. Coloque o cursor no início da palavra que deseja substituir e, em seguida,
CtrlK, CtrlD, CtrlD...
Isso deve selecionar quantas instâncias da palavra você desejar, basta digitar a substituição.
fonte
A mágica é que você precisa começar com uma seleção vazia, então coloque o cursor na frente da palavra / caractere que deseja selecionar e pressione Ctrl+ D.
fonte
Para mim, este é o maior erro do Sublime. Alt+ F3é difícil de alcançar / lembrar, e Ctrl+ Shift+ Gnão faz sentido, considerando que Ctrl+ Dé "adicionar próxima instância à seleção".
Adicione isso às suas associações de teclas do usuário (Preferências> Associações de teclas):
Agora você pode realçar algo, pressione Ctrl+ Shift+ De ele adicionará todas as outras instâncias do arquivo à seleção.
fonte
É mencionado por @watsonic que em Sublime Texto 3 no Mac OS, começando com uma seleção vazia , simplesmente ⌃⌘G( AltF3no Windows) faz o truque, em vez de ⌘D+ ⌃⌘Gem Sublime Text 2.
fonte
Como user1767754 disse, a chave aqui é não fazer nenhuma seleção inicialmente.
Basta colocar o cursor dentro do nome da variável, não clique duas vezes para selecioná-lo. Para variáveis de caractere único, coloque o cursor na frente ou no final da variável para não fazer nenhuma seleção inicialmente.
Agora continue pressionando Cmd+ Dpara a próxima seleção de variável ou Ctrl+ Cmd+ Gpara selecionar todas as variáveis de uma só vez. Ele selecionará magicamente apenas as variáveis.
fonte
No caso de alguém mais se deparar com essa pergunta enquanto procura uma maneira de substituir uma string em vários arquivos, é Command+ Shift+F
fonte