Como evitar que '$ MANSECT' seja alterado ao usar o Vim como manpager?

1

Dentro do arquivo ~/.zshenv exporte esse valor para a variável de ambiente MANSECT (o valor é obtido de /etc/manpath.config ):

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

Esta variável parece controlar a ordem das seções nas quais $ man procura por uma página man, quando você não especifica uma.

Como exemplo, este comando abre a página printf na primeira seção do manual:

$ MANSECT=1:2:3 man printf

Porque não especifiquei o número da seção em que estava interessado e porque a seção 1 vem antes da seção 3 dentro de $MANSECT .

Por outro lado, este comando abre a% man_de% manpage na terceira seção do manual:

MANSECT=3:2:1 man printf

Porque a seção printf vem antes da seção 3 em 1 .

Agora, de acordo com a ajuda do Vim ( $MANSECT ), o Vim pode ser usado como um manpager:

export MANPAGER="vim -M +MANPAGER -"

Se eu iniciar o Vim com o comando :help manpager.vim e pedir o valor de $ vim , obtenho o valor original (aquele exportado no shell):

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

O último $MANSECT imprime corretamente :echo na linha de comando do Vim.

Mas se eu iniciar o Vim com o comando 1:2:3 :

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

O último $ man imprime apenas :echo na linha de comando do Vim, em vez de 1 .

Algumas informações sobre minha máquina:

  • 1:2:3 : VIM - Vi IMproved 8.1 Patches incluídos: 1-495
  • vim --version : 2.7.5
  • Sistema operacional: Ubuntu 16.04.5 LTS
  • Emulador de terminal: rxvt-unicode v9.22
  • Multiplexador de terminais: tmux 2.8
  • man --version : tmux-256color
  • Shell: zsh 5.6.2-dev-0 (x86_64-pc-linux-gnu)

É possível evitar que $TERM seja alterado ao usar o Vim como manpager?

A razão pela qual eu faço esta pergunta é porque o plug-in Neovim man sofre de um problema em que você não pode abrir uma página de manual fora da primeira seção do manual, caso tenha iniciado o Neovim como manpager:

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

O último comando gera o seguinte erro:

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.

Isso ocorre porque $MANSECT foi truncado para o primeiro número de seção ( $MANSECT ) e a página de manual para 1 está na seção $ mount .

    
por user938271 26.10.2018 / 15:52

0 respostas

Tags