Otwarta sekcja man 3

10

Używam Vima do programowania C w systemie Linux. Kiedy naciskam K, aby otworzyć stronę podręcznika dla słowa bazowego, nie mam kontroli nad tym, która sekcja podręcznika jest otwarta. Czy istnieje sposób, aby to gdzieś określić?

stdcall
źródło
Cudowne sugestie: w końcu set keywordprg=man\ 3\ -s
dodałem
1
nie chcesz różnych programów „pomocy” dla różnych języków?
D. Ben Knoble
Nigdy nie musiałem uruchamiać człowieka z poziomu vima dla czegoś innego niż rozdział 3
stdcall,
2
Możesz ustawić to słowo kluczoweprg w ftplugin, abyś mógł nadal pracować Kw innych :h ftplugin
typach

Odpowiedzi:

18

Cytowanie z dokumentacji

  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 -swydaje się być ustawieniem domyślnym 'keywordprg', więc po prostu użycie liczby przed wpisaniem Kwydaje się załatwić sprawę .

(Testowany powodzeniem 2Ki 3Ka kursor jest w open).

Christian Brabandt
źródło
3
Cholera, spóźniłem się o 43 sekundy! :)
statox
8

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

Więc 3Kpowinien załatwić sprawę

statox
źródło
4

Jeśli korzystasz z Linuksa, prawdopodobnie używasz mandb mani możesz kontrolować kolejność przeszukiwania sekcji. Zobacz man 1 man:

MANSECT
Jeśli ustawiono $ MANSECT, jego wartością jest lista odcinków rozdzielana dwukropkami i służy do określania, które sekcje ręczne mają być wyszukiwane i w jakiej kolejności. Wartość domyślna to „1 nl 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7”, chyba że zostanie zastąpione przez dyrektywę SECTION w pliku /etc/manpath.config.

Kolejną opcją jest ustawienie w plikach inicjujących powłoki:

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

Lub w swoim vimrc:

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

(Ponadto, w zależności od tego, co programujesz, sekcja 2 może również wymagać wyższego priorytetu).

(Lub, jak mówi strona podręcznika, ustaw na cały system /etc/manpath.config.)

Działa to również dla człowieka FreeBSD .

muru
źródło
to właśnie -srobi wewnętrznie
Christian Brabandt
1
Rzeczywiście, -szastępuje MANSECT. Jest to jednak przydatne do ustawiania listy priorytetów zamiast wymuszania określonej sekcji (co <count>Kzrobi), co może być bardziej przydatne. Na przykład, jeśli open(3posix)nie jest dostępny, open(2)nadal byłby użyteczny (prawdopodobnie bardziej). man -s 3 openpo prostu zignorowałbym open(2).
muru