Я використовую Vim для розробки C на Linux. Коли я натискаю K, щоб відкрити сторінку чоловіка для основного слова, я не маю контролю над тим, який розділ "людина" відкриється. Чи є спосіб десь вказати це?
K
в інших :h ftplugin
Я використовую Vim для розробки C на Linux. Коли я натискаю K, щоб відкрити сторінку чоловіка для основного слова, я не маю контролю над тим, який розділ "людина" відкриється. Чи є спосіб десь вказати це?
K
в інших :h ftplugin
Відповіді:
Цитуючи з документації
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
).
Від :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слід зробити трюк
Якщо ви працюєте в 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
робить внутрішньо
-s
відміни MANSECT
. Але це корисно для встановлення списку пріоритетів замість того, щоб форсувати конкретний розділ (що <count>K
буде робити), що може бути корисніше. Наприклад, якщо open(3posix)
немає, open(2)
все одно буде корисно (можливо, тим більше). man -s 3 open
просто ігнорував би open(2)
.
set keywordprg=man\ 3\ -s
до свого .vimrc