No Debian Bookworm, a $COLUMNS
variável bash é sempre um pouco menor que a largura real do terminal. Isso deixa um pequeno espaço no lado direito sempre que executo um programa que roda por less
, como man
, git help commit
, etc. Aqui está uma captura de tela da saída de man bash
, observe o espaço em branco no lado direito:
Entretanto, $COLUMNS
no meu Fedora ele está configurado para a largura total do emulador de terminal.
Como posso fazer com que a $COLUMNS
variável seja sempre igual à largura total do emulador de terminal?
Como há muitos programas que passam pelo pager, prefiro não usar uma solução que seja definida COLUMNS=
antes de um programa específico ser iniciado.
A solução também deve ser capaz de mudar $COLUMNS
quando a janela do terminal for redimensionada, como o que o bash faz por padrão.
Você não está tendo problemas
$COLUMNS
com configurações (a menos que você mesmo tenha definido, mas você não disse isso e isso não acontece por padrão) — você está tendo problemas com man-db definindo a largura da impressão,width - 2 if width <= 40 else floor(width * 39/40)
o que no seu caso resulta em algumas colunas faltando.Eu identifiquei e consertei isso no man-db !11 , isso foi corrigido no trixie (deixando apenas uma coluna livre devido à tendência do groff < 1.23 tbl de derramar 1 coluna para bordas). No futuro, isso pode ser corrigido para sempre usar toda a largura do teletipo.
Você pode querer contornar isso no bookworm retroportando o trixie man-db ou colocando algo como
na sequência de inicialização do seu shell, que será definida
$MANWIDTH
comofloor(width * 40/39)
a largura atual do seu teletipo, o que deve neutralizar um pouco o dimensionamento.