Homme ouvert section 3


10

J'utilise Vim pour développer C sur Linux. Lorsque j'appuie sur Kpour ouvrir la page de manuel du mot sous-jacent, je n'ai aucun contrôle sur la section de manuel ouverte. Existe-t-il un moyen de spécifier cela quelque part?


Merveilleuses suggestions: j'ai fini par ajouter ceci set keywordprg=man\ 3\ -sà mon .vimrc
stdcall

1
ne voulez-vous pas différents programmes «d'aide» pour différentes langues?
D. Ben Knoble

Jamais besoin de lancer man depuis vim pour autre chose que le chapitre 3
stdcall

2
Vous voudrez peut-être définir ce mot-cléprg dans un plugin ft afin que vous puissiez continuer à travailler Kdans d'autres types de fichiers:h ftplugin
statox

Réponses:


18

Citant de la documentation

  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 -ssemble être la valeur par défaut pour le 'keywordprg'paramètre, donc simplifier l'utilisation d'un nombre avant de taper Ksemble faire l'affaire.

(Test réussi avec 2Ket 3Ket le curseur étant sur open).


3
Merde, j'étais 43 secondes trop tard! :)
statox

8

De :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.

Alors 3Kdevrait faire l'affaire


4

Si vous êtes sous Linux, vous utilisez probablement des mandb manet vous pouvez contrôler l'ordre dans lequel les sections sont recherchées. Voir man 1 man:

MANSECT
Si $ MANSECT est défini, sa valeur est une liste de sections délimitées par deux-points et elle est utilisée pour déterminer les sections manuelles à rechercher et dans quel ordre. La valeur par défaut est "1 nl 8 3 2 3posix 15pm 3perl 3am 5 4 9 6 7", sauf si elle est remplacée par la directive SECTION dans /etc/manpath.config.

Une autre option est donc de définir dans vos fichiers d'initialisation du shell:

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

Ou dans votre vimrc:

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

(De plus, selon ce que vous programmez, la section 2 peut également nécessiter une priorité plus élevée.)

(Ou, comme le dit la page de manuel, définissez l'ensemble du système /etc/manpath.config.)

Cela fonctionne également pour l'homme de FreeBSD .


c'est ce que -sfait en interne
Christian Brabandt

1
En effet, -soutrepasse MANSECT. Mais cela est utile pour définir une liste de priorités au lieu de forcer une section spécifique (ce qui <count>Kfera l'affaire), ce qui pourrait être plus utile. Par exemple, s'il open(3posix)n'est pas disponible, il open(2)serait toujours utile (probablement plus). man -s 3 openignorerait simplement open(2).
muru
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.