Buka manusia bagian 3

10

Saya menggunakan Vim untuk mengembangkan C di Linux. Ketika saya menekan Kuntuk membuka halaman manual untuk kata yang mendasarinya, saya tidak memiliki kontrol pada bagian man mana yang dibuka. Apakah ada cara untuk menentukan tempat itu?

stdcall
sumber
Saran yang bagus: Saya akhirnya menambahkan ini set keywordprg=man\ 3\ -ske .vimrc
stdcall
1
tidakkah Anda menginginkan program "bantuan" yang berbeda untuk berbagai bahasa?
D. Ben Knoble
Tidak perlu meluncurkan manusia dari dalam vim untuk sesuatu selain bab 3
stdcall
2
Anda mungkin ingin mengatur kata kunci ini dalam ftplugin sehingga Anda tetap bekerja Kdi tipe file lain:h ftplugin
statox

Jawaban:

18

Mengutip dari dokumentasi

  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 -stampaknya menjadi pengaturan default 'keywordprg', jadi menyederhanakan menggunakan hitungan sebelum mengetik Ktampaknya melakukan trik.

(Diuji berhasil dengan 2Kdan 3Kdan kursor aktif open).

Christian Brabandt
sumber
3
Sial, aku terlambat 43 detik! :)
statox
8

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

Jadi 3Ksebaiknya lakukan triknya

statox
sumber
4

Jika Anda menggunakan Linux, Anda kemungkinan menggunakan mandb man, dan Anda dapat mengontrol urutan bagian mana yang dicari. Lihat man 1 man:

MANSECT
Jika $ MANSECT diset, nilainya adalah daftar bagian yang dipisahkan oleh titik dua dan digunakan untuk menentukan bagian manual mana yang akan dicari dan dalam urutan apa. Standarnya adalah "1 nl 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7", kecuali ditimpa oleh arahan BAGIAN di /etc/manpath.config.

Jadi opsi lain adalah mengatur file inisialisasi shell Anda:

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

Atau di vimrc Anda:

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

(Juga, tergantung pada apa yang Anda pemrograman, bagian 2 mungkin juga perlu prioritas yang lebih tinggi.)

(Atau, seperti yang dikatakan halaman manual, atur seluruh sistem /etc/manpath.config.)

Ini juga berfungsi untuk orang-orang FreeBSD .

muru
sumber
itulah yang -sdilakukan secara internal
Christian Brabandt
1
Memang, -smenimpa MANSECT. Tapi ini berguna untuk mengatur daftar prioritas daripada memaksakan bagian tertentu (yang <count>Kakan dilakukan), yang mungkin lebih berguna. Misalnya, jika open(3posix)tidak tersedia, open(2)masih akan berguna (mungkin lebih dari itu). man -s 3 openhanya akan mengabaikan open(2).
muru