Como definir guias padrão apenas para cat?

3

Prefiro definir tabs 4 , mas isso pode ter alguns efeitos colaterais, como por exemplo ls out put may não parece bem alinhado . Como posso configurar o terminal / cat para usar quatro espaços para guias apenas para gatos?

Será que devo apenas alias / wrap cat para algo que defina tabs 4 , execute /bin/cat e, em seguida, defina-o novamente? Meu pensamento é que essa rota é menos preferível, já que na verdade eu gostaria desse comportamento para less , diff e outras utilidades.

    
por dotancohen 08.07.2014 / 14:22

1 resposta

4

As abas do programa curses permitem que você altere o que o terminal acredita ser a largura de um ^I . Isso faria um script simples

tabs -4
cat "$@"
tabs -8

No entanto, o processamento de caracteres da guia nos terminais é notoriamente instável e tenho a impressão de que você deve nunca mexer com eles. Sugiro usar expandir como em:

expand -4 "$@"

que, na verdade, está mais próximo do que você pretende.

adicionado em resposta ao comentário :

Muitos scripts contam com cat significando /bin/cat , o que explicitamente não altera as guias. Não tenho certeza se você pretende substituir ou substituir / bin / cat, mas você não deveria. Melhor seria:

alias tcat='expand -4'

ou

function tcat() {
    expand -4 "$@"
}

ou similar.

    
por 08.07.2014 / 15:22