Я використовую 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