Відкрита людина розділ 3


10

Я використовую Vim для розробки C на Linux. Коли я натискаю K, щоб відкрити сторінку чоловіка для основного слова, я не маю контролю над тим, який розділ "людина" відкриється. Чи є спосіб десь вказати це?


Чудові пропозиції: я в кінцевому підсумку додав це set keywordprg=man\ 3\ -sдо свого .vimrc
stdcall

1
Ви не хочете різних програм "довідки" для різних мов?
D. Ben Knoble

Ніколи не потрібно було запускати людину зсередини vim для чогось іншого, ніж глава 3
stdcall

2
Ви можете встановити це ключове словоprg у ftplugin так, щоб ви продовжували працювати Kв інших :h ftplugin
типах

Відповіді:


18

Цитуючи з документації

  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 -sЗдається, це 'keywordprg'налаштування за замовчуванням , тому просто використання підрахунку перед введенням, Kздається, виконає трюк.

(Успішно випробувано за допомогою 2Kта, 3Kі курсор увімкнено open).


3
Чорт я запізнився на 43 секунди! :)
statox

8

Від :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.

Так 3Kслід зробити трюк


4

Якщо ви працюєте в Linux, ви, ймовірно, використовуєте mandb man, і ви можете контролювати порядок пошуку в розділах. Дивіться man 1 man:

MANSECT
Якщо встановлено $ MANSECT, його значення - це список, розділений двокрапкою, і він визначає, в яких ручних розділах шукати та в якому порядку. За замовчуванням є "1 nl 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7", якщо це не буде відмінено директивою SECTION в /etc/manpath.config.

Отже, ще один варіант - встановити у файлах ініціалізації оболонки:

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

Або у вашому vimrc:

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

(Також, залежно від того, що ви програмуєте, у розділі 2 також може знадобитися більший пріоритет.)

(Або, як говориться на сторінці сторінки, встановити загальну систему /etc/manpath.config.)

Це також працює для людини FreeBSD .


саме це -sробить внутрішньо
Крістіан Брабандт

1
Справді, -sвідміни MANSECT. Але це корисно для встановлення списку пріоритетів замість того, щоб форсувати конкретний розділ (що <count>Kбуде робити), що може бути корисніше. Наприклад, якщо open(3posix)немає, open(2)все одно буде корисно (можливо, тим більше). man -s 3 openпросто ігнорував би open(2).
муру
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.