Vimをマニュアルページとして使用するときに `$MANSECT`が変更されるのを防ぐ方法は?

Vimをマニュアルページとして使用するときに `$MANSECT`が変更されるのを防ぐ方法は?

ファイル内から~/.zshenv環境変数の値をエクスポートしますMANSECT(値はから取得されます/etc/manpath.config)。

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

$ man1つを指定しないと、この変数はマンページセクションが検索される順序を制御するように見えます。

たとえば、次のコマンドはprintfマニュアルの最初の部分にあるマンページを開きます。

$ MANSECT=1:2:3 man printf

興味のあるセクション番号を指定していないが、そのセクションが13$MANSECT

代わりに、このコマンドはprintfマニュアルの3番目のセクションにあるマンページを開きます。

MANSECT=3:2:1 man printf

なぜなら、このセクションがのセクションの前に来るからです31$MANSECT


Vimのヘルプ()に従って:help manpager.vimVimをマニュアルページとして使用できるようになりました。

export MANPAGER="vim -M +MANPAGER -"

$ vim次のコマンドでVimを起動して値を要求すると、元の$MANSECT値(シェルからエクスポートされた値)が得られます。

$ export MANSECT=1:2:3
$ export MANPAGER="vim -M +MANPAGER -"
$ vim
:echo $MANSECT

最後はVimコマンドラインから:echo正しく印刷されます。1:2:3

$ manしかし、Vimを次のように起動すると:

$ export MANSECT=1:2:3
$ export MANPAGER="vim -M +MANPAGER -"
$ man man
:echo $MANSECT

最後のものではなく、:echoVimのコマンドラインにのみ印刷されます。11:2:3


私のコンピュータに関するいくつかの情報:

  • vim --version:VIM - Vi 拡張 8.1 にはパッチ: 1-495 が含まれています。
  • man --version:2.7.5
  • オペレーティングシステム:Ubuntu 16.04.5 LTS
  • ターミナルエミュレータ:rxvt-unicode v9.22
  • ターミナルマルチプレクサ:tmux 2.8
  • $TERM:tmux-256color
  • シェル: zsh 5.6.2-dev-0(x86_64-pc-linux-gnu)

Vimをマニュアルページとして使用するときの$MANSECT変更を防ぐことはできますか?

私がこの質問をする理由は次のとおりです。Neovimの人々プラグインNeovimをマンページで起動すると、次の問題が発生します。マニュアルの最初の部分の外ではマンページを開くことはできません。

$ export MANSECT=1:n:l:8:3:2:3posix:3pm:3perl:5:4:9:6:7
$ export MANPAGER='nvim +Man!'
$ man man
:Man mount

最後のコマンドで次のエラーが発生します。

man.vim: command error (11) man -w mount: No manual entry for mount
See 'man 7 undocumented' for help when manual pages are not available.

$MANSECTこれは、最初のセクション番号()まで切り捨てられ、そのマンページが1セクション$ mountにあるためです8

関連情報