Apri la sezione man 3


10

Sto usando Vim per sviluppare C su Linux. Quando premo Kper aprire la pagina man per la parola sottostante, non ho il controllo su quale sezione man sia aperta. C'è un modo per specificarlo da qualche parte?


Suggerimenti meravigliosi: ho finito per aggiungere questo set keywordprg=man\ 3\ -sal mio .vimrc
stdcall il

1
non vuoi programmi di "aiuto" diversi per lingue diverse?
D. Ben Knoble,

Non
ho

2
Potresti voler impostare questa parola chiaveprg in un ftplugin in modo da continuare a lavorare Kcon altri tipi di file:h ftplugin
statox

Risposte:


18

Citando dalla documentazione

  When 'keywordprg' is equal to "man -s", a count
  before "K" is inserted after the "-s".  If there is
  no count, the "-s" is removed.

man -ssembra essere il valore predefinito per l' 'keywordprg'impostazione, quindi semplicemente usando un conteggio prima di digitare Ksembra fare il trucco.

(Testato con successo con 2Ke con 3Kil cursore acceso open).


3
Accidenti ero in ritardo di 43 secondi! :)
statox

8

Da :h K:

                            *K*
K           Run a program to lookup the keyword under the
            cursor.  [...]
            Special cases:
            - When 'keywordprg' is equal to "man" or starts with
              ":", a [count] before "K" is inserted after
              keywordprg and before the keyword.  For example,
              using "2K" while the cursor is on "mkdir", results
              in: 
                !man 2 mkdir
            - When 'keywordprg' is equal to "man -s", a count
              before "K" is inserted after the "-s".  If there is
              no count, the "-s" is removed.

Quindi 3Kdovrebbe fare il trucco


4

Se sei su Linux, probabilmente stai usando mandb mane puoi controllare l'ordine in cui vengono cercate le sezioni. Vedi man 1 man:

MANSECT
Se $ MANSECT è impostato, il suo valore è un elenco di sezioni delimitate da due punti e viene utilizzato per determinare quali sezioni del manuale cercare e in quale ordine. L'impostazione predefinita è "1 nl 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7", a meno che non venga sovrascritto dalla direttiva SECTION in /etc/manpath.config.

Quindi un'altra opzione è quella di impostare nei file di inizializzazione della shell:

MANSECT=3:3posix:3pm:3perl:3am:1:n:l:8:2:5:4:9:6:7
export MANSECT

O nel tuo vimrc:

let $MANSECT="3:3posix:3pm:3perl:3am:1:n:l:8:2:5:4:9:6:7"

(Inoltre, a seconda di ciò che stai programmando, la sezione 2 potrebbe anche aver bisogno di una priorità più alta.)

(Oppure, come dice la manpage, impostare l'intero sistema /etc/manpath.config.)

Questo funziona anche per l'uomo di FreeBSD .


questo è ciò che -sfa internamente
Christian Brabandt,

1
Anzi, -sannulla MANSECT. Ma questo è utile per impostare un elenco di priorità invece di forzare una sezione specifica (cosa <count>Kche farà), che potrebbe essere più utile. Ad esempio, se open(3posix)non è disponibile, open(2)sarebbe comunque utile (probabilmente di più). man -s 3 opensemplicemente ignorerebbe open(2).
muru,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.