Eu não posso falar muito sobre o GitHub e seu editor, já que nunca edito arquivos do GitHub diretamente na interface web.
Os utilitários padrão expand
e unexpand
pode ser usado para converter guias principais em espaços ( expand
) ou espaços iniciais em guias ( unexpand
).
Para alterar os dois espaços iniciais em uma guia (ou quatro espaços em duas guias, etc.), use
unexpand -t 2 file
Isso também pode ser usado como um filtro como em
somecommand | unexpand -t 2
Para substituir qualquer número de espaços iniciais por uma única guia, também é possível usar o GNU sed
da seguinte forma:
sed 's/^ */\t/'
O padrão é ^ *
com dois espaços entre o ^
e o *
. Essa expressão regular corresponderá a um ou mais espaços iniciais (equivalente a ^ +
ou ^ {1,}
se estiver usando o GNU sed
com -r
ou -E
). A substituição sed
do GNU irá substituí-los por uma guia (outras implementações de sed
precisarão de um caractere de tabulação literal na peça de substituição, em vez de \t
).
Estou percebendo que isso não funcionará no OpenBSD, pois sua implementação de unexpand
assume oito espaços por guia e não reconhecerá o -t
flag. A sugestão acima funciona com unexpand
como encontrado no GNU coreutils.