Como substituir quatro espaços por uma guia no Sublime Text 2?


310

insira a descrição da imagem aqui

Eu quero substituir todos os "quatro espaços" escritos por outro editor de texto por guias. Como eu posso fazer isso?

Respostas:


639

No canto inferior direito da barra de status, clique em Spaces: N(ou Tab Width: N, onde N é um número inteiro), garanta a indicação Tab Width: 4para conversão de quatro espaços e selecione Convert Indentation to Tabsno menu contextual que aparecerá no clique inicial.

Da mesma forma, se você quiser fazer o oposto, clique no texto Spacesou Tab Widthna barra de status e selecione no mesmo menu.

insira a descrição da imagem aquiinsira a descrição da imagem aqui


3
Embora todas as respostas estejam corretas, essa é a mais fácil! Obrigado
Mohsen

1
Tenho que admitir; é :) Nunca usei os menus de contexto da barra de status, acho que sempre pensei que fossem indicadores estáticos.
Ekin Koc

2
Eles não são tão destacados quanto deveriam, eu tenho alguns bugs que devo arquivar para sublimes interrupções no show. Excelente editor.
Ncremins

Você também pode fazer uso de configurações em um arquivo-projeto sublime se quiser que o editor de lembrar essa configuração para todos os arquivos em um projeto
Michael

1
@phreakhead Não tenho certeza se entendo completamente sua necessidade (considere abrir uma nova pergunta?), mas se você tiver translate_tabs_to_spaces definido como false, quando você estiver digitando (novo texto) e clicar em tab, será um caractere de tabulação . se você tiver um arquivo que já tenha alguns recuos como 4paces (em vez de guias), poderá usar a opção na parte inferior do menu na captura de tela para converter o recuo em guias.
Michael

106

Selecione tudo e, em seguida:

Windows / Linux:

Ctrl+ Shift+p

digite "indent"


Mac:

Shift+ Command+p

digite "indent"


Este é o mais rápido, mantendo as mãos no teclado. 1
eduncan911 5/15

Incrível ... isso lhe dá a opção de "reindent Lines" de arquivos como Bootstrap que vem com 2 linhas de recuo
Shina

Eu acho que isso não faz exatamente o que ele está pedindo. Isso também reindentará as linhas, para que realmente altere o recuo, e ele está apenas perguntando sobre a conversão de espaços em guias. De qualquer forma, é uma boa resposta, mas, em alguns casos, pode atrapalhar o seu recuo (pense nos modelos recuados do blade, por exemplo).
Sergi Ramón

Isso é melhor, pois funciona de maneira impressionante com o código colado de cópia.
precisa saber é o seguinte

45

Para configurar o Sublime para sempre usar guias, adicione o seguinte a preferências-> configurações-usuário:

{
    "tab_size": 4,
    "translate_tabs_to_spaces": false
}

Mais informações aqui: http://www.sublimetext.com/docs/2/indentation.html


5
Esta é a resposta correta, porque mesmo depois de selecionar "Recuar usando espaços", essa opção será redefinida na reinicialização.
Md #

1
O OP pediu o inverso. Que estranhamente, não há uma opção para. Odiadores de tabulação.
Phreakhead #

26

No menu principal;

View -> Indentation -> Convert Indentation to Tabs / Spaces


9

Faça uma regex "Pesquisar" por \t(barra invertida-t, uma guia) e substitua por quatro espaços.

O menu principal ou o espaçamento inferior direito da barra de status faz a mesma coisa, com menos trabalho.


3
Este é o inverso do que o cartaz perguntou
Max Nanasy

3
@MaxNanasy Assim é. Acho que minha antipatia por caracteres de tabulação é tão profunda que é inconsciente.
Dave Newton

2
Esta resposta é completamente irrelevante para a pergunta que está sendo feita. Por favor, considere alterá-lo para a resposta correta ou excluir sua resposta.
Randy o Dev

2
@AndrewDunn "Completamente"? Realmente? Como o inverso de algo pode ser "completamente" não relacionado? Por definição , está relacionado, e a correção é óbvia. Se ao menos tivéssemos a capacidade de editar respostas.
Dave Newton

6

crie uma combinação de teclas da maneira mais rápida

{ "keys": ["super+alt+t"], "command": "unexpand_tabs", "args": { "set_translate_tabs": true } }

adicione-o a Preferências> Ligações de teclas (usuário) quando você pressiona super+ alt+ t, que converte espaços em guias


2

Você pode adicionar uma ligação fácil de teclas:

Preferência> Ligação de teclas - usuário:

[
    { "keys": ["super+l"], "command": "reindent"},
]

Agora selecione a linha ou arquivo e pressione: command + l


0

Se você quiser aplicar recursivamente essa alteração a todos os arquivos em um diretório, poderá usar o modo Localizar> Localizar em Arquivos ...:

Localizar nos arquivos modal

Editar Não o destaquei na imagem, mas você deve clicar no botão. * À esquerda para que o Sublime interprete o campo Localizar como um regex / Editar

Editar 2 Negligenciei para adicionar um início de âncora de sequência ao regex. Estou corrigindo isso abaixo e atualizarei a imagem quando eu tiver uma chance / Editar

A regex no campo Localizar ^[^\S\t\n\r]{4}corresponderá a caracteres de espaço em branco em grupos de 4 (excluindo guias e caracteres de nova linha). O campo substituir \tindica que você deseja substituí-los por guias.

Se você clicar no botão à direita do campo Onde, verá as opções que o ajudarão a direcionar sua pesquisa, substitua. Add FolderA opção permite selecionar a pasta da qual você deseja pesquisar recursivamente. A Add Include Filteropção permitirá restringir a pesquisa aos arquivos de uma determinada extensão.

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.