Como alterar o programa padrão de “leitura”?

7

Neste momento, quando executo man (something) , less é usado para visualizá-lo. No entanto, no Mac OS X, eu realmente gosto de rolar com o touchpad em vez de para cima / para baixo ou page-up / page-down botões . Existe uma maneira de imprimir texto no terminal em vez de usar less ou more ?

    
por Halst 27.06.2011 / 23:15

2 respostas

7

Não tenho certeza sobre o OSX, mas esperamos que seja o Unix-y suficiente ...

Em seu $ HOME / .bashrc adicione a seguinte linha:

export MANPAGER=cat

Se você quiser que todos os seus programas de paginação ajam dessa maneira, defina PAGER . man usará MANPAGER se definido, caso contrário, voltará a PAGER , que, se não for definido, retornará para more .

    
por 27.06.2011 / 23:28
7

Para obter o efeito desejado, onde você obtém uma página man em uma janela separada com a visualização começando na primeira página, adicione o seguinte ao seu ~/.bash_profile :

function man {
    mf='mktemp /tmp/$1-formatted-XXXXXXXXX'
    /usr/bin/man -t "$@" | pstopdf -i -o $mf
    mv $mf $mf.pdf
    open -W $mf.pdf
    rm $mf.pdf
}

Você pode sair e voltar para ativá-lo ou apenas recarregar o arquivo com:

. ~/.bash_profile

O último corre o risco de redefinir itens como a variável PATH com informações duplicadas.

Esta função substitui o comando man , fazendo com que ele crie uma versão em formato PDF da página man em um arquivo temporário, abra esse em seu visualizador de PDF (Preview, por padrão) e remova o PDF temporário quando feche o visualizador. A ideia é que o seu programa padrão de visualização de PDFs provavelmente responde ao touchpad da maneira que você quiser.

Para obter esse último recurso, onde ele remove o PDF temporário, tive que fazer com que open(1) espere até que o visualizador de PDF seja fechado antes de continuar. Isso significa que você não pode continuar usando sua janela de terminal enquanto o PDF permanece aberto. Um truque seria remover o sinalizador -W e seguir o comando open com algo como sleep 1 , o que deve ser tempo suficiente para o Preview ser aberto. Outro hack pode ser substituir a última linha por algo assim:

( sleep 60 ; rm $mf.pdf ) &

Isso programa o comando rm por 60 segundos no futuro, certamente com tempo suficiente.

    
por 28.06.2011 / 00:50