ส่วนคนเปิด 3


10

ฉันใช้ Vim เพื่อพัฒนา C บน Linux เมื่อฉันกดKเพื่อเปิดหน้าคนสำหรับคำที่ขีดเส้นใต้ฉันไม่สามารถควบคุมได้ว่าจะเปิดส่วนคนใด มีวิธีการระบุว่าที่ไหน?


คำแนะนำที่ยอดเยี่ยม: ฉันสิ้นสุดการเพิ่มสิ่งนี้set keywordprg=man\ 3\ -sลงใน. vimrc ของฉัน
stdcall

1
คุณไม่ต้องการโปรแกรม“ ช่วยเหลือ” ที่แตกต่างกันสำหรับภาษาอื่นหรือไม่?
D. Ben Knoble

ไม่จำเป็นต้องปล่อยมนุษย์จากภายในกลุ่มเพื่อสิ่งอื่นนอกเหนือจากบทที่ 3
stdcall

2
คุณอาจต้องการตั้งค่าคีย์เวิร์ดprgนี้ใน ftplugin เพื่อให้คุณทำงานKในประเภทไฟล์อื่น ๆ ได้:h ftplugin
statox

คำตอบ:


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" เว้นแต่จะถูกแทนที่โดยคำสั่งส่วนใน /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 อาจต้องการลำดับความสำคัญสูงกว่า)

(หรืออย่างที่ manpage บอกไว้ให้ตั้งค่าทั้งระบบ/etc/manpath.config)

สิ่งนี้ใช้ได้กับมนุษย์ของ FreeBSDเช่นกัน


นั่นคือสิ่งที่-sเกิดขึ้นภายใน
Christian Brabandt

1
อันที่จริงการแทนที่-s MANSECTแต่สิ่งนี้มีประโยชน์สำหรับการตั้งค่ารายการลำดับความสำคัญแทนการบังคับใช้ส่วนที่เฉพาะเจาะจง (ซึ่ง<count>Kจะทำ) ซึ่งอาจมีประโยชน์มากกว่า ตัวอย่างเช่นหากopen(3posix)ไม่มีให้บริการopen(2)จะยังคงมีประโยชน์ (อาจมากกว่านั้น) ก็จะไม่สนใจman -s 3 open open(2)
muru
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.