Então, usamos man whatever
para obter o uso e outras informações sobre o whatever
comando. Quando a seção relevante é encontrada, gostaria de sair do man
comando com as informações deixadas na tela. Para que eu possa digitar o próximo comando com o árbitro acima. Mas o man
comando fecha a tela inteira para recuperar a tela antiga semelhante a vim
. Existe uma maneira de conseguir isso?
24
Respostas:
Eu acredito que isso não é tanto sobre
man
si mesmo, mas sobre o seu pager de escolha (PAGER
variável de ambiente) combinado com o terminal em uso.Eu estou supondo que seu pager é provavelmente
less
(pager padrão típico hoje em dia e se encaixa com a descrição).less
tem uma opção-X
que pode lhe proporcionar um comportamento semelhante ao que você está procurando.Por exemplo,
PAGER="less -X" man man
poderia ser usado para testá-lo e, se você achar esse comportamento preferível, considere definirPAGER
esse valor permanentemente.fonte
LESS=-X
, para evitar ter de mudançaPAGER
(eu não 100% confiar que ele funcione em todos os programas com um espaço como esse, embora ele funciona no homem.)Se você estiver executando menos como seu pager (o que é muito comum), não precisará modificar o pager, apenas faça o redirecionamento de E / S:
man <whatever you want to man> | cat -
Isso imprimirá uma cópia no terminal para que você possa rolar para cima quando precisar.
fonte
-
significa padrão no mascat
assume que de qualquer maneiraComo não apenas
less
mas também outras aplicações de texto comovim
exibem o mesmo recurso extremamente irritante, o que faço é simplesmente remover a capacidade do terminal de suportar os comandos envolvidos noterminfo
banco de dados.Esses comandos são
smcup
ermcup
, que foram projetados para permitir a ativação e a movimentação onde ocup
comando (posição do cursor) foi permitido.Aqui está uma função de shell que eu usei para automatizar a tarefa, ela funciona pelo menos com Solaris e provavelmente com a maioria das distribuições Linux:
Se a entrada do seu terminal não der fallback
xterm
, substituaxterm
pelo nome do terminal correto no script.fonte
Você pode canalizar a saída para o
cat
comandoou use-o em vez do pager padrão, como neste exemplo, que invoca o homem em si:
fonte
Sem modificar o pager, uma solução com pipes que podem funcionar na maioria dos ambientes:
Exemplos para
man ls
man ls | cat
man ls | more
man ls | grep somestring
fonte
Em 2016, basta abrir um segundo terminal ou guia ou janela ou ler o manual online.
fonte
Mesmo nos meus servidores (FreeBSD) eu instalo o X e o xfce. Em seguida, aloco um grande buffer (por exemplo, 10.000 linhas) para os emuladores de terminal, para que eu possa rolar completamente a página de manual em um deles e usar uma instância de terminal separada para montar o comando. Funciona um prazer.
fonte