Open Man Abschnitt 3

10

Ich benutze Vim, um C unter Linux zu entwickeln. Wenn ich drücke, Kum die Manpage für das zugrunde liegende Wort zu öffnen, habe ich keine Kontrolle darüber, welcher Man-Bereich geöffnet wird. Gibt es eine Möglichkeit, das irgendwo anzugeben?

stdcall
quelle
Wunderbare Vorschläge: set keywordprg=man\ 3\ -sAm Ende fügte ich dies meinem .vimrc
stdcall
1
Möchten Sie nicht verschiedene Hilfsprogramme für verschiedene Sprachen?
D. Ben Knoble
Nie nötig, um den Menschen von innen heraus für etwas anderes als Kapitel 3 zu starten
stdcall
2
Vielleicht möchten Sie dieses Schlüsselwort prg in einem ftplugin festlegen, damit Sie Kin anderen Dateitypen weiterarbeiten können:h ftplugin
statox

Antworten:

18

Zitat aus der Dokumentation

  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 -sscheint die Standardeinstellung für die 'keywordprg'Einstellung zu sein, daher Kscheint es den Trick zu tun , einfach eine Zählung vor dem Tippen zu verwenden.

(Erfolgreich getestet mit 2Kund 3Kund wenn der Cursor eingeschaltet ist open).

Christian Brabandt
quelle
3
Verdammt, ich war 43 Sekunden zu spät! :)
statox
8

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

Also 3Ksollte der Trick machen

statox
quelle
4

Wenn Sie unter Linux arbeiten, verwenden Sie wahrscheinlich Mandbs manund können die Reihenfolge steuern, in der Abschnitte durchsucht werden. Siehe man 1 man:

MANSECT
Wenn $ MANSECT festgelegt ist, ist sein Wert eine durch Doppelpunkte getrennte Liste von Abschnitten und wird verwendet, um zu bestimmen, welche manuellen Abschnitte in welcher Reihenfolge durchsucht werden sollen. Der Standardwert ist "1 nl 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7", sofern dies nicht durch die SECTION-Direktive in /etc/manpath.config überschrieben wird.

Eine weitere Option besteht darin, in Ihren Shell-Initialisierungsdateien Folgendes festzulegen:

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

Oder in deinem vimrc:

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

(Je nachdem, was Sie programmieren, benötigt Abschnitt 2 möglicherweise auch eine höhere Priorität.)

(Oder, wie in der Manpage angegeben, systemweit eingestellt /etc/manpath.config.)

Dies funktioniert auch für FreeBSDs Mann .

muru
quelle
das ist, was -sintern tut
Christian Brabandt
1
In der Tat -süberschreibt MANSECT. Dies ist jedoch nützlich, um eine Prioritätsliste festzulegen, anstatt einen bestimmten Abschnitt zu erzwingen (was <count>Kausreicht), was möglicherweise nützlicher ist. Zum Beispiel, wenn open(3posix)nicht verfügbar, open(2)wäre immer noch nützlich (wahrscheinlich mehr). man -s 3 openwürde einfach ignorieren open(2).
Muru