Comment suivre les liens dans les pages de manuel de Linux?
92
Existe-t-il un moyen de suivre les liens mentionnés dans une page de manuel? Par exemple, voici la page de manuel pour ps; Comment puis-je accéder au lien marqué en rouge?
En outre, je vois ce man is an interface to the on-line reference manualsqui (si je ne me trompe pas) signifie qu'il devrait extraire toutes les informations d'une page Web sur Internet, n'est-ce pas? Donc, tout le monde a une idée de ce que le lien http: // est?
its_me
10
Ici, "en ligne" signifie "sur l'ordinateur" (par opposition à "sur papier"), pas "sur Internet".
Gilles
1
"On-Line": Vous vous souvenez peut-être de ces jeux de quêtes "Adventure" pour PC, lancés par une société (à l'époque) nommée Sierra On-Line. pages de manuel: le meilleur moyen de parcourir les pages de manuel est d'utiliser votre éditeur. De cette façon, la navigation, la recherche (etc.) du texte seront aussi fluides que chaque raccourci est dans votre mémoire musculaire depuis longtemps. Supposons également que vous travaillez sur un projet de programmation: vous pouvez copier des pages de manuel dans votre code. Rien de moins qu'une interaction transparente. Découvrez ceci et mon commentaire à la réponse de @Gilles .
Emanuel Berg
Réponses:
52
Les pages de manuel remontent à Unix First Edition . Bien que l' hypertexte ait été inventé, il en était encore à ses balbutiements; le Web était dans deux décennies et le manuel était un véritable livre imprimé, avec souvent une commande par page s'ils correspondaient (c'est pourquoi ils s'appelaient des pages).
Le format utilisé pour les pages de manuel a quelque peu évolué depuis, mais la plupart des pages ne sont pas vraiment conçues pour l'hypertexte, et le manprogramme par défaut ne le prend pas en charge (c'est juste un afficheur de texte brut, avec des hacks pour supporter un formatage de base). Il existe toutefois des programmes d'affichage de pages de manuel qui reconstruisent certains hyperliens, principalement des liens vers d'autres pages de manuel, qui sont traditionnellement écrits sous la forme man(1)où manest le nom de la page de manuel et 1le numéro de section :
tkman , un visualiseur de pages de manuel avec des hyperliens
man2html , un convertisseur homme à HTML (plus un navigateur Web pour lire le résultat)
Vous pouvez parcourir les pages de manuel de plusieurs systèmes d'exploitation, converties en HTML par man2htmldes outils similaires, sur plusieurs sites en ligne, par exemple:
Quelque temps après que les pages de manuel soient devenues le format de documentation établi sous unix et avant que le Web ne soit inventé, le projet GNU a introduit le format de documentation info , plus avancé que man, tout en s’appuyant sur un balisage simple conçu pour les terminaux texte. L'innovation majeure de l'info par rapport à l'homme était d'avoir une documentation de plusieurs pages avec des hyperliens vers d'autres pages. Info est toujours le format de documentation préféré pour les projets GNU, bien que la plupart des pages Info soient générées à partir d'une source Texinfo (ou parfois d'autres formats) pouvant également générer du HTML. Lorsqu'il existe une documentation sur un programme, il s'agit souvent du manuel principal, tandis que les pages de manuel ne contiennent que des informations de base sur les arguments de la ligne de commande.
Très bonne réponse! Il est également intéressant de noter qu’il existe un autre mode pour les pages de manuel dans Emacs, celui (au moins je) passe juste M-x man(et C-h v mode-namereste Man): au moins dans un aspect, il est supérieur à celui WoMancar il affiche des tableaux ( capture d’écran ). Bien sûr, il existe également un lien hypertexte.
Emanuel Berg
1
L’interface utilisateur du programme d’information semble tout à fait fausse et contre-intuitive. Je n'ai vu personne utiliser cela.
Pavel Šimerda
@ PavelŠimerda> L'interface utilisateur du programme d'information semble totalement fausse et contre-intuitive. <Emm, comparé à quoi? To less (1) (qui est le pager par défaut pour man (1) dans GNU) - cette chose, dans laquelle vous devez vous rappeler comment revenir en arrière , car <backspace> n'est pas lié (et <pgup> pourrait ne pas fonctionner du tout) ? La clé primaire est b, de cette façon. Pour un utilisateur de quel paradigme d'interface, cela pourrait être intuitif?
Dmitry Alexandrov
@ PavelŠimerda> Je n'ai vu personne utiliser cela. <Toujours utiliser les informations (1) pour la lecture quand manpages dans un fait enfermer terminal de texte pour la raison exacte, que , contrairement à moins (1) , il ne convertit muets page(N)liens en liens hypertextes. Était assez surpris que ce ne soit pas mentionné dans la réponse de Gilles dans cette qualité.
Dmitry Alexandrov
37
Tout d'abord, ce n'est pas un lien. C'est juste un soulignement. Les pages de manuel ne sont que des documents texte avec un peu de formatage simple qu'un terminal peut gérer. Le soulignement est juste un point culminant, il n'y a pas de "lien" impliqué.
La mancommande normale est juste un formateur de texte. En fait, la mancommande n’affiche même pas le texte, elle manformate simplement les informations stockées dans le fichier de page de manuel [1] et envoie la sortie formatée à un autre programme (généralement less) qui affiche la sortie formatée à l’écran. Ces programmes d'affichage n'ont aucun concept de liens.
Certains lecteurs de documentation spéciaux pourraient peut-être examiner cette mise en forme et se faire une idée précise qu'une telle mise en évidence pourrait indiquer qu'une page de manuel connexe pourrait être affichée et créer un lien, mais je ne sais pas. qui font. Peut pinfo- être ?
Si vous souhaitez une mise en forme Web avec des liens hypertexte, vous pouvez trouver presque toutes les pages de manuel UNIX en ligne avec des liens ajoutés. Essayez de taper man [anything]dans Google et vous en obtiendrez certainement un dans les deux premiers résultats.
Dans le cas de votre exemple, la mise en surbrillance visuelle est un indice qu'il s'agit d'un autre nom de programme qui a sa propre page de manuel que vous pouvez facilement extraire. Essayez man 1 top. Le 1 indique la section des pages de manuel dans laquelle chercher. Consultez cette question pour obtenir une explication des sections: Que signifient les chiffres d'une page de manuel?
[1] Si vous ouvrez le manfichier de page dans un éditeur de texte, vous verrez la manpage brute qui n'est pas formatée pour en faciliter la lecture. La manpage brute est écrite dans un langage de balisage appelé troff. Pour plus d'informations sur troffet comment écrire une manpage, voir: https://liw.fi/manpages/ .
Une idée pourquoi c'est man 1 top?? Je veux dire que cela devrait ressembler à quelque chose ps 1 topparce que j'ai trouvé le lien sur la page de manuel pour ps. "man 1 top" n'a pas de sens pour moi. Précisez s'il vous plaît.
its_me
Il existe également certaines ressources qui rendent les pages de manuel disponibles sur Internet, avec des références remplacées par des href, qui sont cliquables.
Gabe.
1
Si vous voulez suivre top(1)"lien", vous devez ouvrir topla page de manuel à partir de la 1ère section. Pour plus d'informations sur les sections, voir man (1). ps 1 topn'a aucun sens, puisque vous exécuterez juste une pscommande avec des paramètres étranges.
RVS
2
@Aahan c'est man 1 top parce que vous voulez voir la page de manuel de la commande top dans la 1ère section des pages de manuel en ligne. La référence top (1) signifie simplement cela, top dans la 1ère section des pages de manuel. Pour voir cela, vous tapez "man 1 top" à l'invite. Voir "homme homme"
gabe.
1
@Aaran: Les sections "du manuel couvrent différents sujets. La section 1 contient les commandes de l'utilisateur (tout ce que vous tapez à l'invite). La section 2 concerne les appels système, etc. Certaines chaînes apparaissent plusieurs sections. Sur la machine sur laquelle je suis readlinkfigure à présent dans les sections 1 et 2, et printfdans les sections 1 et 3. Si vous tapez simplement man command, manipulez les sections dans l’ordre numérique et affichera la première recherche, ou vous pouvez être précis man # command, ce que vous devez faire pour obtenir la documentation. pour l' readlinkappel système
dmckee
12
C'est une réponse très tardive mais utilisez w3mman. w3mman est le pageur manuel du système de w3m.
Vous pouvez l'essayer en installant le paquet w3m. Je crois que ce paquet est enregistré dans les répertoires de logiciels de la plupart des principales distributions Linux / UNIX et de Cygwin.
Une réponse tardive qui ajoute une réponse à la question qui n'est pas encore mentionnée, ce n'est jamais un problème! Bienvenue chez Unix & Linux StackExchange!
Bernhard
w3mmanest également fourni avec l' w3minstallation par défaut de Macports . C'est génial :) Merci!
Sampablokuper
8
Permettez-moi d’essayer d’interpréter votre question un peu plus dans le sens où j’essaie de suivre votre flux de travail. Ce que vous voudriez probablement, c’est une combinaison de touches dans une manpage qui vous mènera directement aux commandes soulignées que vous lisez. Donc, ne pas avoir à installer autre chose, ni ouvrir une autre console et oublier la syntaxe exacte par exemple.
Cette solution la plus simple est le point d’exclamation (si vous utilisez lesspour afficher les pages de manuel) et que vous souhaitez accéder au texte souligné top:
!man top
Ou
!man 1 top
Vous devrez tous les fermer en appuyant qplusieurs fois. Notez également que cela ne fonctionnera pas si LESSSECURE=1est définie en tant que variable d'environnement qui ferait fonctionner lessen mode sécurisé et ne vous permettrait pas de l'utiliser !. Il vous dira quelque chose comme "Commande non disponible".
Yelp est spécialement conçu pour Ubuntu. Il est installé par défaut et est par défaut capable d'afficher des pages de manuel, bien que l'invocation pour le faire ne soit pas la même que celle de la mancommande; un alias ou une fonction shell peut contourner ce dernier point (dépend de votre shell).
yelp 'man:exit'
Il s’agira par défaut d’une section de manière inconnue. Rappel: pour obtenir la liste des sections d’une rubrique manuelle, utilisez whatis, comme dans whatis exit.
Pour demander à Yelp d’afficher une page de manuel d’une section spécifique, disons 2, procédez comme suit:
yelp 'man:exit(2)'
Problèmes: yelp a des bugs et soyez prêt à générer plusieurs erreurs lors de son appel depuis la ligne de commande. Là aussi, un alias ou une fonction shell personnalisée peut aider à rediriger toutes les erreurs vers/dev/null
Mettez ceci dans votre ~ / .bashrc ou votre ~ / .zshrc
function man(){
for arg in "$@"; do
vim -c 'execute "normal! :let no_man_maps = 1\<cr>:runtime ftplugin/man.vim\<cr>:Man '"${arg}"'\<cr>:wincmd o\<cr>"'
done
}
lorsque vous tapez man vim, par exemple, cela ouvrira cette page de manuel dans vim
si vous tapez man man vim, par exemple, il ouvrira d'abord manle manuel et, après avoir quitté vim, il ouvrira vimle manuel.
lorsque vous appuyez sur K(c'est le capital k) lorsque vous êtes sur une autre page de l' homme au fond (la VOIR AUSSI section), vous sautera à ce manuel (malheureusement à l' intérieur d' un téléavertisseur moins - c'est parce que nous avons let no_man_maps = 1, si vous ne le faites pas faites cela, alors vim forcera qà être :qet vous ne pourrez pas enregistrer une macro facilement, et vim peut se comporter de manière maladroite d’une autre manière).
sortir de ce second manuel que vous avez entré vous ramènera au manuel précédent que vous étiez en train de visionner
vous obtenez une très jolie coloration syntaxique puisque vous avez chargé ftplugin / man.vim et que le ft est (automatiquement) réglé sur man.
vous pouvez copier et coller, naviguer librement dans vim et même modifier le tampon et :w ~/usefulfile. Vous pouvez faire tout ce que vous feriez normalement dans vim, y compris les macros d’enregistrement, le presse-papier avec "+y(si vous en avez +clipboard), etc., etc.
Je trouve ça beaucoup mieux que moins .
Le seul inconvénient mineur que j'ai constaté (qui existe toujours si vous utilisez moins comme téléavertisseur) est si vous souhaitez que plusieurs manuels soient ouverts au cours d'une session vim. Je ne vois pas vraiment le moyen de faire ça.
Quelques notes:
si vous essayez de sauver le tampon, vous obtiendrez E382: Cannot write, 'buftype' option is set
J'aime que vous ne puissiez pas enregistrer car cela évite de le sauvegarder accidentellement
vous pouvez toujours enregistrer comme :w /tmp/man.man
si vous enregistrez avec une .manextension, son ouverture définira le type de fichier manpour vous
si vous ne l'enregistrez pas avec une .manextension, vous pouvez simplement définir le ft sur manen exécutant:set ft=man
Si vous avez besoin de faire certaines choses lorsque vous ouvrez des pages de manuel, vous pouvez utiliser autocmd VimEnter *.~ echom 'hooray, we are using vim for man pages!', par exemple.
J'ai mis le texte suivant dans mon vimrc pour pouvoir appuyer sur Kpour essayer d'ouvrir le manuel, puis sur Gpour revenir au manuel précédent:
augroup man
autocmd!
autocmd VimEnter *.~ nnoremap B :execute "normal! `Z"<cr>
autocmd VimEnter *.~ nnoremap <buffer> K :execute "normal! mZyiw:Man \<lt>c-r>\"\<lt>cr>"<cr>
augroup END
bidouille 2
mettez ceci dans votre ~ / .bashrc ou ~ / .zshrc
function man(){
declare -a args
for arg in "$@"; do
command man "$arg" > "/tmp/${arg}.man"
args+=("/tmp/${arg}.man")
done
vim "${args[@]}"
}
Cela résout le problème que le piratage 1 et moins visage (maintenant vous pouvez afficher plusieurs manuels dans un tampon), mais il est moins élégant.
Remarques:
IMPORTANT si vous voulez que hack2 fonctionne, vous devez mettre :let no_man_maps = 1votre ~/.vimrc. Ceci est dû au fait que vim sera source .../vim80/man.vimet qqu’il sera forcément redirigé vers :q.
il y a plus de nettoyage impliqué (maintenant vous stockez chaque manuel dans /tmp/*.man )
vous pouvez maintenant, cependant, afficher plusieurs pages de manuel au cours d'une session, comme indiqué ci-dessus
si vous appuyez sur K, vous ouvrirez quand même une nouvelle session vim, cependant
si vous voulez, vous pouvez lier un autocmd (en utilisant un autocmd comme celui ci-dessus) pour faire quelque chose comme autocmd VimEnter man.~ nnoremap <buffer> K :execute "normal! Byt(:silent !man \<c-r>\" > /tmp/\<c-r>\".man\<cr>:edit /tmp/\<c-r>\".man\<cr>"ça ou quelque chose de fou comme ça ( non testé )
L'option semble reconnue sur Ubuntu 12.04, mais elle échoue.
Hibou57
OK, le paquet groffdoit être installé. La groffcommande peut être là alors que le package du même nom ne l’est pas (la commande est fournie groff-base, pas le groffpackage complet ). Oui man --html="surf file%c//%s" <command>, et c'est bien. Il existe cependant un hypertexte très très limité: - /.
man is an interface to the on-line reference manuals
qui (si je ne me trompe pas) signifie qu'il devrait extraire toutes les informations d'une page Web sur Internet, n'est-ce pas? Donc, tout le monde a une idée de ce que le lien http: // est?Réponses:
Les pages de manuel remontent à Unix First Edition . Bien que l' hypertexte ait été inventé, il en était encore à ses balbutiements; le Web était dans deux décennies et le manuel était un véritable livre imprimé, avec souvent une commande par page s'ils correspondaient (c'est pourquoi ils s'appelaient des pages).
Le format utilisé pour les pages de manuel a quelque peu évolué depuis, mais la plupart des pages ne sont pas vraiment conçues pour l'hypertexte, et le
man
programme par défaut ne le prend pas en charge (c'est juste un afficheur de texte brut, avec des hacks pour supporter un formatage de base). Il existe toutefois des programmes d'affichage de pages de manuel qui reconstruisent certains hyperliens, principalement des liens vers d'autres pages de manuel, qui sont traditionnellement écrits sous la formeman(1)
oùman
est le nom de la page de manuel et1
le numéro de section :Vous pouvez parcourir les pages de manuel de plusieurs systèmes d'exploitation, converties en HTML par
man2html
des outils similaires, sur plusieurs sites en ligne, par exemple:Quelque temps après que les pages de manuel soient devenues le format de documentation établi sous unix et avant que le Web ne soit inventé, le projet GNU a introduit le format de documentation info , plus avancé que man, tout en s’appuyant sur un balisage simple conçu pour les terminaux texte. L'innovation majeure de l'info par rapport à l'homme était d'avoir une documentation de plusieurs pages avec des hyperliens vers d'autres pages. Info est toujours le format de documentation préféré pour les projets GNU, bien que la plupart des pages Info soient générées à partir d'une source Texinfo (ou parfois d'autres formats) pouvant également générer du HTML. Lorsqu'il existe une documentation sur un programme, il s'agit souvent du manuel principal, tandis que les pages de manuel ne contiennent que des informations de base sur les arguments de la ligne de commande.
la source
M-x man
(etC-h v mode-name
resteMan
): au moins dans un aspect, il est supérieur à celuiWoMan
car il affiche des tableaux ( capture d’écran ). Bien sûr, il existe également un lien hypertexte.b
, de cette façon. Pour un utilisateur de quel paradigme d'interface, cela pourrait être intuitif?page(N)
liens en liens hypertextes. Était assez surpris que ce ne soit pas mentionné dans la réponse de Gilles dans cette qualité.Tout d'abord, ce n'est pas un lien. C'est juste un soulignement. Les pages de manuel ne sont que des documents texte avec un peu de formatage simple qu'un terminal peut gérer. Le soulignement est juste un point culminant, il n'y a pas de "lien" impliqué.
La
man
commande normale est juste un formateur de texte. En fait, laman
commande n’affiche même pas le texte, elleman
formate simplement les informations stockées dans le fichier de page de manuel [1] et envoie la sortie formatée à un autre programme (généralementless
) qui affiche la sortie formatée à l’écran. Ces programmes d'affichage n'ont aucun concept de liens.Certains lecteurs de documentation spéciaux pourraient peut-être examiner cette mise en forme et se faire une idée précise qu'une telle mise en évidence pourrait indiquer qu'une page de manuel connexe pourrait être affichée et créer un lien, mais je ne sais pas. qui font. Peut
pinfo
- être ?Si vous souhaitez une mise en forme Web avec des liens hypertexte, vous pouvez trouver presque toutes les pages de manuel UNIX en ligne avec des liens ajoutés. Essayez de taper
man [anything]
dans Google et vous en obtiendrez certainement un dans les deux premiers résultats.Dans le cas de votre exemple, la mise en surbrillance visuelle est un indice qu'il s'agit d'un autre nom de programme qui a sa propre page de manuel que vous pouvez facilement extraire. Essayez
man 1 top
. Le 1 indique la section des pages de manuel dans laquelle chercher. Consultez cette question pour obtenir une explication des sections: Que signifient les chiffres d'une page de manuel?[1] Si vous ouvrez le
man
fichier de page dans un éditeur de texte, vous verrez laman
page brute qui n'est pas formatée pour en faciliter la lecture. Laman
page brute est écrite dans un langage de balisage appelétroff
. Pour plus d'informations surtroff
et comment écrire uneman
page, voir: https://liw.fi/manpages/ .la source
man 1 top
?? Je veux dire que cela devrait ressembler à quelque choseps 1 top
parce que j'ai trouvé le lien sur la page de manuel pourps
. "man 1 top" n'a pas de sens pour moi. Précisez s'il vous plaît.top(1)
"lien", vous devez ouvrirtop
la page de manuel à partir de la 1ère section. Pour plus d'informations sur les sections, voir man (1).ps 1 top
n'a aucun sens, puisque vous exécuterez juste uneps
commande avec des paramètres étranges.readlink
figure à présent dans les sections 1 et 2, etprintf
dans les sections 1 et 3. Si vous tapez simplementman command
, manipulez les sections dans l’ordre numérique et affichera la première recherche, ou vous pouvez être précisman # command
, ce que vous devez faire pour obtenir la documentation. pour l'readlink
appel systèmeC'est une réponse très tardive mais utilisez w3mman. w3mman est le pageur manuel du système de w3m.
https://linux.die.net/man/1/w3mman
Vous pouvez l'essayer en installant le paquet w3m. Je crois que ce paquet est enregistré dans les répertoires de logiciels de la plupart des principales distributions Linux / UNIX et de Cygwin.
la source
w3mman
est également fourni avec l'w3m
installation par défaut de Macports . C'est génial :) Merci!Permettez-moi d’essayer d’interpréter votre question un peu plus dans le sens où j’essaie de suivre votre flux de travail. Ce que vous voudriez probablement, c’est une combinaison de touches dans une
man
page qui vous mènera directement aux commandes soulignées que vous lisez. Donc, ne pas avoir à installer autre chose, ni ouvrir une autre console et oublier la syntaxe exacte par exemple.Cette solution la plus simple est le point d’exclamation (si vous utilisez
less
pour afficher les pages de manuel) et que vous souhaitez accéder au texte soulignétop
:Ou
Vous devrez tous les fermer en appuyant
q
plusieurs fois. Notez également que cela ne fonctionnera pas siLESSSECURE=1
est définie en tant que variable d'environnement qui ferait fonctionnerless
en mode sécurisé et ne vous permettrait pas de l'utiliser!
. Il vous dira quelque chose comme "Commande non disponible".la source
Bien que w3mman soit une solution pour suivre les liens, n'utilise pas tout l'écran (du moins sur Ubuntu 12.10)
Je préfère utiliser:
ajoutez la dernière commande à ~ / .bash_aliases ou à un script de démarrage similaire pour l'obtenir à chaque session.
Le -P w3m est parce que le premier navigateur à hman est Lynx ou sensible-browser mais je préfère w3m
hman est un outil fourni avec html2man. Voir ce
Si sortir avec confirmation vous gêne, utilisez-moi ceci
la source
Yelp est spécialement conçu pour Ubuntu. Il est installé par défaut et est par défaut capable d'afficher des pages de manuel, bien que l'invocation pour le faire ne soit pas la même que celle de la
man
commande; un alias ou une fonction shell peut contourner ce dernier point (dépend de votre shell).Il s’agira par défaut d’une section de manière inconnue. Rappel: pour obtenir la liste des sections d’une rubrique manuelle, utilisez
whatis
, comme danswhatis exit
.Pour demander à Yelp d’afficher une page de manuel d’une section spécifique, disons 2, procédez comme suit:
Problèmes: yelp a des bugs et soyez prêt à générer plusieurs erreurs lors de son appel depuis la ligne de commande. Là aussi, un alias ou une fonction shell personnalisée peut aider à rediriger toutes les erreurs vers
/dev/null
la source
Comme ils l'ont dit, ce n'était pas conçu pour ça.
Vous pouvez utiliser
info man
puis appuyer sur Entrée une fois que vous êtes sous VOIR AUSSI section sur votre élément.la source
J'ai un (deux) hack (s).
bidouille 1
Mettez ceci dans votre ~ / .bashrc ou votre ~ / .zshrc
Capture d'écran..
Asciinema ..
https://asciinema.org/a/130131
Maintenant..
lorsque vous tapez
man vim
, par exemple, cela ouvrira cette page de manuel dans vimman man vim
, par exemple, il ouvrira d'abordman
le manuel et, après avoir quitté vim, il ouvriravim
le manuel.lorsque vous appuyez sur K(c'est le capital
k
) lorsque vous êtes sur une autre page de l' homme au fond (la VOIR AUSSI section), vous sautera à ce manuel (malheureusement à l' intérieur d' un téléavertisseur moins - c'est parce que nous avonslet no_man_maps = 1
, si vous ne le faites pas faites cela, alors vim forceraq
à être:q
et vous ne pourrez pas enregistrer une macro facilement, et vim peut se comporter de manière maladroite d’une autre manière).vous obtenez une très jolie coloration syntaxique puisque vous avez chargé ftplugin / man.vim et que le ft est (automatiquement) réglé sur
man
.vous pouvez copier et coller, naviguer librement dans vim et même modifier le tampon et
:w ~/usefulfile
. Vous pouvez faire tout ce que vous feriez normalement dans vim, y compris les macros d’enregistrement, le presse-papier avec"+y
(si vous en avez+clipboard
), etc., etc.Je trouve ça beaucoup mieux que moins .
Le seul inconvénient mineur que j'ai constaté (qui existe toujours si vous utilisez moins comme téléavertisseur) est si vous souhaitez que plusieurs manuels soient ouverts au cours d'une session vim. Je ne vois pas vraiment le moyen de faire ça.
Quelques notes:
si vous essayez de sauver le tampon, vous obtiendrez
E382: Cannot write, 'buftype' option is set
vous pouvez toujours enregistrer comme
:w /tmp/man.man
.man
extension, son ouverture définira le type de fichierman
pour vous.man
extension, vous pouvez simplement définir le ft surman
en exécutant:set ft=man
Si vous avez besoin de faire certaines choses lorsque vous ouvrez des pages de manuel, vous pouvez utiliser
autocmd VimEnter *.~ echom 'hooray, we are using vim for man pages!'
, par exemple.J'ai mis le texte suivant dans mon vimrc pour pouvoir appuyer sur Kpour essayer d'ouvrir le manuel, puis sur Gpour revenir au manuel précédent:
bidouille 2
mettez ceci dans votre ~ / .bashrc ou ~ / .zshrc
Capture d'écran..
Asciinema ..
https://asciinema.org/a/9Q6Si90Pi46cDVUknxFxfIwsv
Cela résout le problème que le piratage 1 et moins visage (maintenant vous pouvez afficher plusieurs manuels dans un tampon), mais il est moins élégant.
Remarques:
IMPORTANT si vous voulez que hack2 fonctionne, vous devez mettre
:let no_man_maps = 1
votre~/.vimrc
. Ceci est dû au fait que vim sera source.../vim80/man.vim
etq
qu’il sera forcément redirigé vers:q
.il y a plus de nettoyage impliqué (maintenant vous stockez chaque manuel dans /tmp/*.man )
vous pouvez maintenant, cependant, afficher plusieurs pages de manuel au cours d'une session, comme indiqué ci-dessus
si vous appuyez sur K, vous ouvrirez quand même une nouvelle session vim, cependant
autocmd VimEnter man.~ nnoremap <buffer> K :execute "normal! Byt(:silent !man \<c-r>\" > /tmp/\<c-r>\".man\<cr>:edit /tmp/\<c-r>\".man\<cr>"
ça ou quelque chose de fou comme ça ( non testé )la source
J'ai pu utiliser l'
--html
argument toman
pour l'ouvrir dans le navigateur défini par la variable d'environnement $ BROWSER.J'utilise Fedora. Vous ne savez pas si cela fonctionne pour votre distribution, veuillez tester et signaler dans les commentaires.
la source
groff
doit être installé. Lagroff
commande peut être là alors que le package du même nom ne l’est pas (la commande est fourniegroff-base
, pas legroff
package complet ). Ouiman --html="surf file%c//%s" <command>
, et c'est bien. Il existe cependant un hypertexte très très limité: - /.