Je sais que je suis en retard pour la fête ( comme d'habitude ) mais je suis tombé sur cette question aujourd'hui, et je n'ai vu qu'une seule réponse qui contenait des liens externes.
La solution que j'ai trouvée est donc d'utiliser l'un de mes éditeurs de texte préférés. nvim pour gérer l'ouverture des pages de manuel dans une session de terminal.
Maintenant, vous pourriez procéder en fixant le $PAGER
ou la variable d'environnement $MANPAGER
à vim pour la session Shell et je suppose que ça pourrait fonctionner.
Mais cependant j'ai décidé d'écrire une fonction personnalisée pour mon Shell, qui se trouve être fish-Shell Cependant, je suis sûr que BASH et ZSH supportent également ces fonctions.
La raison pour laquelle j'ai choisi d'emprunter la voie des fonctions est que je ne souhaitais pas vraiment utiliser nvim comme mon PAGER
pour mes propres raisons évidentes. Cependant, si je pouvais simplement exécuter une commande telle que vman
d'ouvrir une page de manuel au sein de nvim, ce serait génial, laissant ainsi la $PAGER
, $MANPAGER
intactes avec les variables d'environnement man
également.
J'ai donc créé une fonction qui ressemble à celle ci-dessous, j'ai ajouté quelques commentaires afin de comprendre ce que font tous les drapeaux et de ne pas avoir à ...ouvrir la page de manuel.
function vman --description 'use vim / nvim to read man pages'
# col `-b` flag = don't output any backspaces
# col `-p` flag = force uknown control sequences
# ===
# iconv `-c` flag = characters that can't be converter are
# ...silently discarded
# ===
# nvim `-c` flag = run argument / command after executing nvim
# nvim `-R` flag = open "file" in read-only mode
# ===
man $argv | col -bp | iconv -c | nvim -c 'set ft=man nomod nolist' -;
end
Il est évident que vous devez activer le support de la souris dans vim / nvim, ce qui peut être fait en ajoutant la ligne ci-dessous au fichier de configuration des éditeurs concernés.
set mouse=a