I'd like to commit this soon, it allows me to jump to the command I'm looking for, e.g. ":tx509<Enter>" shows me the synopsis right away.
FWIW, some Linux distributions ship with separate manuals, e.g. x509(1SSL). Patch was done with a VIM macro by adding a new line after each `.Sh' line with the respective name but lowercased, so no typos in the added strings. Specifying it is required since the markup following the `.Tg' markup always starts with "openssl"; the tag must not include it (`.Tg' accepts at most one word anyway). Index: openssl.1 =================================================================== RCS file: /cvs/src/usr.bin/openssl/openssl.1,v retrieving revision 1.119 diff -u -p -U1 -r1.119 openssl.1 --- openssl.1 16 Feb 2020 16:39:01 -0000 1.119 +++ openssl.1 17 Feb 2020 16:11:22 -0000 @@ -203,2 +203,3 @@ itself. .Sh ASN1PARSE +.Tg asn1parse .Bl -hang -width "openssl asn1parse" @@ -299,2 +300,3 @@ into a nested structure. .Sh CA +.Tg ca .Bl -hang -width "openssl ca" @@ -848,2 +850,3 @@ The same as .Sh CIPHERS +.Tg ciphers .Nm openssl ciphers @@ -880,2 +883,3 @@ but without cipher suite codes. .Sh CMS +.Tg cms .Bl -hang -width "openssl cms" @@ -1396,2 +1400,3 @@ is specified. .Sh CRL +.Tg crl .Bl -hang -width "openssl crl" @@ -1472,2 +1477,3 @@ Verify the signature on the CRL. .Sh CRL2PKCS7 +.Tg crl2pkcs7 .Bl -hang -width "openssl crl2pkcs7" @@ -1517,2 +1523,3 @@ The output format. .Sh DGST +.Tg dgst .Bl -hang -width "openssl dgst" @@ -1631,2 +1638,3 @@ If no files are specified then standard .Sh DHPARAM +.Tg dhparam .Bl -hang -width "openssl dhparam" @@ -1707,2 +1715,3 @@ parameters are generated instead. .Sh DSA +.Tg dsa .Bl -hang -width "openssl dsa" @@ -1795,2 +1804,3 @@ Print the public/private key in plain te .Sh DSAPARAM +.Tg dsaparam .Bl -hang -width "openssl dsaparam" @@ -1847,2 +1857,3 @@ If this option is included, the input fi .Sh EC +.Tg ec .Bl -hang -width "openssl ec" @@ -1959,2 +1970,3 @@ Print the public/private key in plain te .Sh ECPARAM +.Tg ecparam .Bl -hang -width "openssl ecparam" @@ -2054,2 +2066,3 @@ Print the EC parameters in plain text. .Sh ENC +.Tg enc .Bl -hang -width "openssl enc" @@ -2217,2 +2230,3 @@ Print extra details about the processing .Sh ERRSTR +.Tg errstr .Nm openssl errstr @@ -2247,2 +2261,3 @@ Print debugging statistics about various .Sh GENDSA +.Tg gendsa .Bl -hang -width "openssl gendsa" @@ -2293,2 +2308,3 @@ The parameters in this file determine th .Sh GENPKEY +.Tg genpkey .Bl -hang -width "openssl genpkey" @@ -2397,2 +2413,3 @@ Print the private/public key in plain te .Sh GENRSA +.Tg genrsa .Bl -hang -width "openssl genrsa" @@ -2454,2 +2471,3 @@ The default is 2048. .Sh NSEQ +.Tg nseq .Nm openssl nseq @@ -2484,2 +2502,3 @@ a Netscape certificate sequence is creat .Sh OCSP +.Tg ocsp .Bl -hang -width "openssl ocsp" @@ -2836,2 +2855,3 @@ option. .Sh PASSWD +.Tg passwd .Bl -hang -width "openssl passwd" @@ -2899,2 +2919,3 @@ to each password hash. .Sh PKCS7 +.Tg pkcs7 .Bl -hang -width "openssl pkcs7" @@ -2944,2 +2965,3 @@ Print certificate details in full rather .Sh PKCS8 +.Tg pkcs8 .Bl -hang -width "openssl pkcs8" @@ -3027,2 +3049,3 @@ It is recommended that des3 is used. .Sh PKCS12 +.Tg pkcs12 .Bl -hang -width "openssl pkcs12" @@ -3244,2 +3267,3 @@ is equivalent to .Sh PKEY +.Tg pkey .Bl -hang -width "openssl pkey" @@ -3307,2 +3331,3 @@ even if a private key is being processed .Sh PKEYPARAM +.Tg pkeyparam .Cm openssl pkeyparam @@ -3332,2 +3357,3 @@ Print the parameters in plain text. .Sh PKEYUTL +.Tg pkeyutl .Bl -hang -width "openssl pkeyutl" @@ -3484,2 +3510,3 @@ Verify the input data and output the rec .Sh PRIME +.Tg prime .Cm openssl prime @@ -3528,2 +3555,3 @@ is prime. .Sh RAND +.Tg rand .Bl -hang -width "openssl rand" @@ -3555,2 +3583,3 @@ or standard output if not specified. .Sh REQ +.Tg req .Bl -hang -width "openssl req" @@ -4004,2 +4033,3 @@ Any additional fields will be treated as .Sh RSA +.Tg rsa .Bl -hang -width "openssl rsa" @@ -4101,2 +4131,3 @@ Print the public/private key components .Sh RSAUTL +.Tg rsautl .Bl -hang -width "openssl rsautl" @@ -4175,2 +4206,3 @@ Verify the input data and output the rec .Sh S_CLIENT +.Tg s_client .Bl -hang -width "openssl s_client" @@ -4473,2 +4505,3 @@ will be used. .Sh S_SERVER +.Tg s_server .Bl -hang -width "openssl s_server" @@ -4778,2 +4811,3 @@ a certificate is requested but the clien .Sh S_TIME +.Tg s_time .Bl -hang -width "openssl s_time" @@ -4888,2 +4922,3 @@ but not transfer any payload data. .Sh SESS_ID +.Tg sess_id .Bl -hang -width "openssl sess_id" @@ -4980,2 +5015,3 @@ debugging purposes. .Sh SMIME +.Tg smime .Bl -hang -width "openssl smime" @@ -5276,2 +5312,3 @@ An error occurred writing certificates. .Sh SPEED +.Tg speed .Bl -hang -width "openssl speed" @@ -5313,2 +5350,3 @@ benchmarks in parallel. .Sh SPKAC +.Tg spkac .Bl -hang -width "openssl spkac" @@ -5374,2 +5412,3 @@ Verify the digital signature on the supp .Sh TS +.Tg ts .Bk -words @@ -5736,2 +5775,3 @@ The default is no. .Sh VERIFY +.Tg verify .Bl -hang -width "openssl verify" @@ -6063,2 +6103,3 @@ Unused. .Sh VERSION +.Tg version .Nm openssl version @@ -6094,2 +6135,3 @@ version. .Sh X509 +.Tg x509 .Bl -hang -width "openssl x509"