Vim을 매뉴얼 페이지 프로그램으로 사용할 때 매뉴얼 페이지 이름이 잘리는 것을 방지하는 방법은 무엇입니까?

Vim을 매뉴얼 페이지 프로그램으로 사용할 때 매뉴얼 페이지 이름이 잘리는 것을 방지하는 방법은 무엇입니까?

다음 셸 명령을 고려해보세요.

$ MANPAGER='vim -Nu NONE -R -' man git-credential-cache

man(1)Vim의 매뉴얼 페이지를 표시합니다 .git-credential-cache(1)

그러나 맨 페이지의 이름(버퍼의 첫 번째 줄에 표시됨)은 입니다 GIT-CREDENTIAL-CAC(1). HE이름 끝이 어떻게 누락되었는지 확인하세요 .

git-credential-cache 매뉴얼 페이지 이름에 마지막 두 문자가 누락되었습니다.

대신 이 이름을 사용하고 싶습니다.

GIT-CREDENTIAL-CACHE(1)
                  ^^

strace(1)어떤 시스템 호출이 사용되었는지 확인하기 위해 실행했습니다 man(1).

$ MANPAGER='vim -Nu NONE -R -' strace -o log man git-credential-cache

로그 파일 끝에서 read(2)버퍼 이름을 사용하는 시스템 호출을 볼 수 있습니다.write(2)GIT-CREDENTIAL-CAC(1)

read(7, "GIT-CREDENTIAL-CAC(1)           "..., 4096) = 2720
...
write(8, "GIT-CREDENTIAL-CAC(1)           "..., 2720) = 2720

따라서 매뉴얼 페이지의 이름을 자르는 것은 그것이 man(1)아닌 것처럼 보입니다 .vim(1)

다음은 기사의 전체 내용이다.로그 파일, 다른로그 파일동일한 명령의 출력을 포함 strace(1)하지만 -f하위 프로세스를 추적하기 위한 추가 매개변수와 man(1)해당 프로세스로 이어지는 프로세스 트리가 포함되어 있습니다.

$ pstree -lsp $(pidof man)
systemd(1)---lightdm(947)---lightdm(1114)---upstart(1123)---sh(1324)---xfce4-session(1335)---xfce4-panel(1347)---panel-8-whisker(1396)---xterm(22546)---bash(22547)---strace(23182)---man(23184)---vim(23194)

man(1)잘림을 방지 하는 방법이 있습니까 GIT-CREDENTIAL-CACHE(1)?GIT-CREDENTIAL-CAC(1)

제가 이 질문을 하는 이유는 잘림으로 인해 다음을 사용할 때 오류 메시지가 표시되기 때문입니다.Neovim 사람들 플러그인:

            ┌ Taken from `:h man.vim` in Neovim
            ├────────┐
$ MANPAGER='nvim +Man!' man git-credential-cache
man.vim: command error (7) man -w git-credential-cac: No manual entry for git-credential-cac

잘린 매뉴얼 페이지 이름으로 인해 Neovim에서 오류가 발생했습니다.


환경:

$  lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:        16.04
Codename:       xenial

$ man --version
man 2.7.5

$ vim --version | head -n2
VIM - Vi IMproved 8.1 (2018 May 18, compiled Sep  3 2019 11:05:36)
Included patches: 1-1967

$ nvim --version | head -n1
NVIM v0.4.0-1856-g82d52b229

답변1

man누가 그것을 자르지 도 않습니다 :

$ zcat /usr/share/man/man1/git-credential-cache.1.gz | head -n 10
'\" t
.\"     Title: git-credential-cache
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 09/28/2018
.\"    Manual: Git Manual
.\"    Source: Git 2.11.0
.\"  Language: English
.\"
.TH "GIT\-CREDENTIAL\-CAC" "1" "09/28/2018" "Git 2\&.11\&.0" "Git Manual"

git따라서 매뉴얼 페이지를 생성하고 다시 작성하는 데 사용된 모든 것을 조작해야 합니다 (지난번에 사용 중인지 확인했을 때 asciidoc- 우주에서 가장 느린 것 ;-)).

관련 정보