Como pular para um cabeçalho específico em uma página man?

5

Exemplo: ssh_config

Eu configurei um tipo de arquivo no vim para isso. Eu quero que o programa de ajuda seja

man

Claro que isso não funciona, se eu estiver com uma palavra, diga

ServerAliveCountMax

Eu recebo um erro, já que não há nenhum homem pager para o ServerAliveCountMax, ele está dentro da página man do ssh_config.

Existe alguma maneira de, a partir da linha de comando, pular para uma string ou executar algum tipo de comando dentro do homem? Muito parecido com informações na verdade:

info screen Miscellaneous

me levará para a seção Diversos da página de informações das telas.

Isso é possível com o homem? Mesmo executando uma pesquisa serviria ...

EDITAR: Estou usando o OSX 10.6.5. com o homem padrão (/ usr / bin / man)

EDIT: Eu falo um pouco de dialeto;), então fui levado à resposta correta:

man -P 'less -p PATTERN' ssh_config  

É a invocação no OSX / * BSD parece.

    
por chiggsy 29.11.2010 / 00:22

4 respostas

9

Na linha de comando do GNU man :

man --pager='less -p ^ENVIRONMENT' man

ou para BSD man :

man -P 'less -p ^ENVIRONMENT' man

saltará para o cabeçalho "MEIO AMBIENTE" da página man de man .

Aqui está uma função útil:

mans () {    # Bash
    local pages string
    if [[ -n $2 ]]
    then
        pages=(${@:2})
        string="$1"
    else
        pages=$1
    fi
    # GNU man
    man ${2:+--pager="less -p \"$string\" -G"} ${pages[@]}
    # BSD man
    # man ${2:+-P "less -p \"$string\" -G"} ${pages[@]}
}

Exemplos:

Use normalmente:

mans bash

Vá para o cabeçalho "DESCRIÇÃO":

mans ^DESCRIPTION bash

Vá para o título "DESCRIÇÃO" de cada página man em sucessão (pressione q e Enter para ir para a próxima):

mans ^DESCRIPTION bash ksh zsh

Vá para o subtítulo "Expansão de Parâmetros" (você pode procurar por qualquer string usando expressões regulares):

mans '^ *Parameter Expansion' bash

Pesquise a regex mais recente que você usou em Menos:

mans '' bash

A correspondência que você pesquisou não será destacada. Se preferir, basta remover o -G das opções para less .

Esta função não tenta manipular os outros argumentos e opções que o man suporta.

    
por 29.11.2010 / 02:18
1

No homem, você pode digitar / seguido por um padrão para corresponder, por exemplo, para encontrar a seção DEFAULT KEY BINDINGS da man page da tela que você digitaria

/^DEFAULT KEY BINDINGS
    
por 29.11.2010 / 00:30
1

Eu uso um truque simples para saltar relativamente rápido entre as seções nas páginas man: Eu acerto /^[A-Z] e então eu posso pressionar n e N para pular para frente e para trás.

O regex de pesquisa utiliza a estrutura básica das man pages típicas - As seções principais são escritas em letras maiúsculas e começam uma linha sem recuo para que elas apareçam no início das linhas.

    
por 29.03.2017 / 17:10
0

/ em menos fará uma pesquisa de encaminhamento e ? fará uma pesquisa inversa. Pressione h para ver uma lista completa.

    
por 29.11.2010 / 00:26