如何编辑手册页?

如何编辑手册页?

我想知道是否可以编辑手册页。如果可以,该怎么做?(如果可以,可以在 gedit 中进行更改)。

PS-我想知道是否可以编辑已经写好的手册页(只是为了好玩)。

答案1

是的,你可以,但不建议这样做。最好的方法可能是 Rinzwind 建议的工具,但你也可以手动操作。我将使用该man页面grep作为示例。

  1. 手册页是压缩文件,因此您要么需要使用真正的编辑器(例如emacs,它可以读取/写入压缩文件),要么必须先解压缩它:

    sudo gunzip /usr/share/man/man1/grep.1.gz
    
  2. 編輯:

    sudo gedit /usr/share/man/man1/grep.1
    

    现在,格式是有点奇怪。但是,如果您只想更改简单内容,则可以忽略格式,只更改纯文本。例如,我可以非常轻松地更改的描述。当您在(或任何其他编辑器)grep中打开文件时,前几行如下所示:gedit

    .\" GNU grep man page
    .if !\n(.g \{\
    .   if !\w|\*(lq| \{\
    .       ds lq ``
    .       if \w'\(lq' .ds lq "\(lq
    .   \}
    .   if !\w|\*(rq| \{\
    .       ds rq ''
    .       if \w'\(rq' .ds rq "\(rq
    .   \}
    .\}
    .
    .ie \n[.g] .mso www.tmac
    .el \{\
    . de MTO
    \\$2 \(laemail: \\$1 \(ra\\$3
    ..
    . de URL
    \\$2 \(laURL: \\$1 \(ra\\$3
    ..
    .\}
    .
    .TH GREP 1 \*(Dt "GNU grep 2.25" "User Commands"
    .hy 0
    .
    .SH NAME
    grep, egrep, fgrep \- print lines matching a pattern
    .
    .SH SYNOPSIS
    .B grep
    .RI [ OPTIONS ]
    .I PATTERN
    .RI [ FILE .\|.\|.]
    .br
    .B grep
    .RI [ OPTIONS ]
    .RB [ \-e
    .I PATTERN
    |
    .B \-f
    .IR FILE ]
    .RI [ FILE .\|.\|.]
    .
    .SH DESCRIPTION
    .B grep
    searches the named input
    .IR FILE s
    for lines containing a match to the given
    .IR PATTERN .
    If no files are specified, or if the file
    .RB "\*(lq" \- "\*(rq"
    is given,
    .B grep
    searches standard input.
    By default,
    .B grep
    prints the matching lines.
    .PP
    In addition, the variant programs
    

    因此,要更改描述,我可能会将其更改为(向下滚动到“描述”部分):

    .\" GNU grep man page
    .if !\n(.g \{\
    .   if !\w|\*(lq| \{\
    .       ds lq ``
    .       if \w'\(lq' .ds lq "\(lq
    .   \}
    .   if !\w|\*(rq| \{\
    .       ds rq ''
    .       if \w'\(rq' .ds rq "\(rq
    .   \}
    .\}
    .
    .ie \n[.g] .mso www.tmac
    .el \{\
    . de MTO
    \\$2 \(laemail: \\$1 \(ra\\$3
    ..
    . de URL
    \\$2 \(laURL: \\$1 \(ra\\$3
    ..
    .\}
    .
    .TH GREP 1 \*(Dt "GNU grep 2.25" "User Commands"
    .hy 0
    .
    .SH NAME
    grep, egrep, fgrep \- print lines matching a pattern
    .
    .SH SYNOPSIS
    .B grep
    .RI [ OPTIONS ]
    .I PATTERN
    .RI [ FILE .\|.\|.]
    .br
    .B grep
    .RI [ OPTIONS ]
    .RB [ \-e
    .I PATTERN
    |
    .B \-f
    .IR FILE ]
    .RI [ FILE .\|.\|.]
    .
    .SH DESCRIPTION
    .B grep
    searches for and destroys all the unicorns on your system.
    .PP
    In addition, the variant programs
    
  3. 保存文件,退出gedit,然后重新压缩(这实际上不是必需的,man grep已经起作用了,但最好整洁一点):

    sudo gzip /usr/share/man/man1/grep.1
    

现在,只需运行man grep你就会看见:

GREP(1)

NAME
       grep, egrep, fgrep - print lines matching a pattern

SYNOPSIS
       grep [OPTIONS] PATTERN [FILE...]
       grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

DESCRIPTION
       grep searches for and destroys all the unicorns on your system.

       In addition, the variant programs egrep and fgrep are the same as grep -E and grep -F, respectively.  These variants are deprecated, but are provided
       for backward compatibility.

答案2

安装编辑

Gtk+ Manpages Editor 是一个在装有 GTK+ 的 X 上运行的手册页编辑器。

格曼尼蒂是一个允许您在 Linux/Unix 系统上编辑手册页 (man) 的应用程序。

它与大多数常见的 HTML 编辑器类似,但更简单。您需要了解手册页格式。

更新:由于 gmanedit 已死,请尝试其 forkgmanedit2

答案3

正如已经讨论过的,不建议这样做 - 另一篇文章也解释说尽管如此,这是可能的。

我想提一些替代方案——提供某种用户可编辑备忘单的软件项目

它们中的大多数都附带了很好的预设备忘单,您可以根据需要进行增强。

答案4

man  Your_Command_HERE > ~/your_cmd.man
neovim ~/your_cmd.man

像常规文件一样编辑,然后:Man!享受 manpage 的语法亮点

相关内容