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.