Recuar com 4 espaços, mas exibir 2

7

No trabalho, temos uma política que afirma que precisamos usar 4 espaços para indentação e, na minha opinião, torna o código mais difícil de ler.

É possível recuar com 4 espaços, mas exibi-lo como 2 espaços?

DalekSall
fonte
11
Eu diria que isso tem pouco ou nada a ver com os spacemacs. Boa pergunta embora. Eu estaria interessado em uma solução.
precisa saber é o seguinte
11
Como uma abordagem de "guia do pobre homem"? Eu posso imaginar que isso não seja muito difícil de aplicar em todos os espaços iniciais, mas mais complicado se você quiser distinguir recuo e alinhamento.
phils
11
Eu estou supondo muito aqui, mas você pode tabular em paradas de quatro espaços, depois exibir guias usando paradas de dois espaços e finalmente desmarcar em paradas de quatro espaços? (Mas essa idéia vai funcionar mal para linhas de continuação.)
Norman Ramsey
Provavelmente deve ser um comentário, não uma resposta.
precisa saber é o seguinte

Respostas:

1

Na verdade, existe apenas uma resposta que pode funcionar para todos o tempo todo, pelo menos se você deseja a capacidade de visualizar incrementos de indentação em larguras diferentes e poder alinhar linhas de continuação de forma consistente com o nível de indentação da linha em que continuam. from: Use as guias inteligentes .

Para uma explicação de todos os problemas com recuo e alinhamento de linhas de continuação, consulte Tabs Are Evil . (As guias não são realmente más, é claro, é apenas um problema quando são abusadas para vários propósitos - quando usadas corretamente, são a ferramenta que permite visualizar a indentação em diferentes larguras.)

A vantagem mais importante do uso de guias para indentação e espaços para alinhamento é que também é possível visualizar incrementos de indentação com larguras diferentes fora do editor. Por exemplo, basta configurar a tabulação para todo número de espaços desejado no terminal (emulador), até mesmo uma visualização bruta (por exemplo cat file) de um arquivo recuado e alinhado por tabulação parecerá o desejado, independentemente da largura da tabulação do terminal. . Essa técnica do Smart Tabs deve funcionar até para os outros editores menores, mesmo pedindo educadamente aos usuários que tenham um pouco mais de cuidado com o momento em que pressionam e quando pressionam, para que possam implementar manualmente as Smart Tabs .

Greg A. Woods
fonte
0

Experimente https://www.emacswiki.org/emacs/redshift-indent.el .

Veja C-h f redshift-indentpara uso.

Não use esta versão se você usar tabulações para indentação (embora, a menos que esteja misturando espaços e tabulações, você não tenha tido um problema, quanto à abordagem somente de guias, você pode simplesmente ajustar tab-widthpara se adequar).

Se você estiver recuando com espaços exclusivamente, acredito que tudo ficará bem.

Eu não estava planejando lançá-lo até ter acompanhado um relatório de erro de propriedade de texto (que está esperando por mim para fornecer mais detalhes dos cenários em que as coisas não funcionam), mas você pode achar que funciona para você independentemente. Decidi colocá-lo no Wiki como está, por ter visto outra pergunta. Ver código com recuo diferente do que foi salvo no disco - antes de perceber que a outra pergunta não era na verdade uma duplicata, afinal de contas ... deve apenas postar uma resposta para a pergunta correta ...

phils
fonte
2
Por favor, não hospede novos projetos no Emacswiki.
Wasamasa 17/03/16
11
Bem, minha intenção é que isso esteja no GNU ELPA eventualmente. Por enquanto, está no Wiki. Sinta-se livre para experimentar o código, em vez de apenas comentar sobre a hospedagem.
Phillips