From: Mao-Yining Date: Thu, 2 Jul 2026 19:24:19 +0000 (+0000) Subject: translation(zh_CN): Add Chinese man pages X-Git-Tag: v9.2.0770~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7f6fd6be897485130a595536f095370e48e4c6f2;p=thirdparty%2Fvim.git translation(zh_CN): Add Chinese man pages Problem: No Simplified Chinese man pages. Solution: Add Simplified Chinese translations of man pages. closes: #19464 Co-Authored-By: yianwillis Signed-off-by: Mao-Yining Signed-off-by: Christian Brabandt --- diff --git a/.github/MAINTAINERS b/.github/MAINTAINERS index 072f69aeb6..6fdafa0945 100644 --- a/.github/MAINTAINERS +++ b/.github/MAINTAINERS @@ -134,6 +134,11 @@ runtime/doc/vimtutor-ru.1 @RestorerZ runtime/doc/vimtutor-ru.UTF-8.1 @RestorerZ runtime/doc/xxd-ru.1 @RestorerZ runtime/doc/xxd-ru.UTF-8.1 @RestorerZ +runtime/doc/evim-zh_CN.UTF-8.1 @mao-yining +runtime/doc/vim-zh_CN.UTF-8.1 @mao-yining +runtime/doc/vimdiff-zh_CN.UTF-8.1 @mao-yining +runtime/doc/vimtutor-zh_CN.UTF-8.1 @mao-yining +runtime/doc/xxd-zh_CN.UTF-8.1 @mao-yining runtime/ftplugin/abaqus.vim @costerwi runtime/ftplugin/abnf.vim @A4-Tacks runtime/ftplugin/algol68.vim @dkearns diff --git a/Filelist b/Filelist index c073e1ad6d..aedb16a7ff 100644 --- a/Filelist +++ b/Filelist @@ -1133,6 +1133,7 @@ LANG_GEN = \ runtime/doc/*-sv.UTF-8.1 \ runtime/doc/*-tr.1 \ runtime/doc/*-tr.UTF-8.1 \ + runtime/doc/*-zh_CN.UTF-8.1 \ runtime/lang/README.txt \ runtime/lang/Makefile \ runtime/lang/Make_all.mak \ diff --git a/runtime/doc/evim-zh_CN.UTF-8.1 b/runtime/doc/evim-zh_CN.UTF-8.1 new file mode 100644 index 0000000000..d91c337b1e --- /dev/null +++ b/runtime/doc/evim-zh_CN.UTF-8.1 @@ -0,0 +1,53 @@ +.TH EVIM 1 "2024 August 12" +.SH 名称 +evim \- 简易 Vim ,使用 Vim 编辑文件并设置为无模式编辑 +.SH 概述 +.br +.B evim +[选项] [文件 ..] +.br +.B eview +.SH 描述 +.B eVim +启动 +.B Vim +并设置选项,使其行为类似于无模式编辑器。 +这仍然是 Vim ,但作为点击式编辑器使用。 +体验很像在 MS-Windows 上使用记事本。 +.B eVim +将始终在 GUI 中运行,以启用菜单和工具栏。 +.PP +仅适用于那些确实无法以正常方式使用 Vim 的人。 +编辑效率会低得多。 +.PP +.B eview +功能相同,但以只读模式启动。其工作方式与 evim \-R 相同。 +.PP +有关 Vim 、选项等的详细信息,请参见 vim(1)。 +.PP +选项 'insertmode' 被开启,以便能够直接输入文本。 +.br +设置相应映射,使复制和粘贴使用类似 MS-Windows 的快捷键。 +CTRL-X 剪切文本,CTRL-C 复制文本,CTRL-V 粘贴文本。 +使用 CTRL-Q 可用于执行 CTRL-V 的原生功能。 +.SH 选项 +参见 vim(1)。 +.SH 文件 +.TP 15 +/usr/local/share/vim/vim??/evim.vim +用于初始化 eVim 的脚本。 +.br +.I vim?? +是短版本号,如 vim91 代表 +.B Vim 9.1 +.SH 别名 +也被称为 “傻瓜版Vim”。 +使用 evim 时,你应该拿一块手帕, +在每个角上打一个结,然后戴在头上。 +.SH 另见 +vim(1) +.SH 作者 +绝大多数 +.B Vim +代码由 Bram Moolenaar 完成,并得到了众多人士的大力协助。 +参见 “帮助” 菜单中的 “致谢”。 diff --git a/runtime/doc/vim-zh_CN.UTF-8.1 b/runtime/doc/vim-zh_CN.UTF-8.1 new file mode 100644 index 0000000000..86514eec2a --- /dev/null +++ b/runtime/doc/vim-zh_CN.UTF-8.1 @@ -0,0 +1,570 @@ +.TH VIM 1 "2025 Jun 27" +.SH 名称 +vim \- Vi 改进版 (Vi IMproved),一个面向程序员的文本编辑器 +.SH 概述 +.br +.B vim +[options] [file ..] +.br +.B vim +[options] \- +.br +.B vim +[options] \-t tag +.br +.B vim +[options] \-q [errorfile] +.PP +.br +.B ex +.br +.B view +.br +.B gvim +.B gview +.B evim +.B eview +.br +.B rvim +.B rview +.B rgvim +.B rgview +.SH 描述 +.B Vim +是一个向上兼容 Vi 的文本编辑器。 +它可用于编辑各种纯文本文件。 +它在编辑程序方面尤为有用。 +.PP +相较于 Vi,它有许多增强功能: 多级撤销、多窗口与多缓冲区、语法高亮、命令行编辑、文件名补全、在线帮助、可视化选择等。 +关于 +.B Vim +与 Vi 之间差异的概要,请参见 ":help vi_diff.txt"。 +.PP +在运行 +.B Vim +时,可以通过 ":help" 命令从在线帮助系统中获取大量帮助信息。 +请参见下文的 "在线帮助" 章节。 +.PP +通常, +.B Vim +用于编辑单个文件,可通过以下命令启动: +.PP + vim file +.PP +更一般地, +.B Vim +可通过以下方式启动: +.PP + vim [options] [filelist] +.PP +如果未提供 filelist,编辑器将以一个空缓冲区启动。 +否则,可使用下列四种方式之一来选择一个或多个要编辑的文件。 +.TP 12 +file .. +文件名列表。 +第一个文件将作为当前文件,并被读入缓冲区。 +光标将定位在缓冲区的第一行。 +可使用 ":next" 命令切换到其他文件。 +如果要编辑以连字符开头的文件,请在文件列表前加 "\-\-"。 +.TP +\- +要编辑的文件从标准输入 (stdin) 读取。命令从标准错误 (stderr) 读取,该设备应为终端 (tty)。 +.TP +\-t {tag} +根据指定 "tag" 来选择要编辑的文件以及初始光标位置,相当于标签跳转。 +会在 tags 文件中查找 {tag},关联的文件会成为当前文件,并执行关联的命令。 +这通常用于 C 程序,此时 {tag} 可以是函数名。 +效果是包含该函数的文件成为当前文件,光标会定位到该函数的起始处。 +参见 ":help tag\-commands"。 +.TP +\-q [errorfile] +以快速修复模式启动。 +读取 [errorfile] 文件并显示第一个错误。 +省略 [errorfile] 时,从 "errorfile" 选项获取文件名 (在 Amiga 上缺省为"AztecC.Err",在其他系统上默认为 "errors.err")。 +可使用 ":cn" 命令跳转到后续错误。 +参见 "help quickfix"。 +.PP +.B Vim +的行为会因命令名称而异 (实际可执行文件可能仍是同一个)。 +.TP 10 +vim +"正常" 方式,全部使用缺省设置。 +.TP +ex +以 Ex 模式启动。 +使用 ":vi" 命令进入普通模式。 +也可使用 "\-e" 参数实现。 +.TP +view +以只读模式启动,防止对文件进行写入。 +也可使用 "\-R" 参数实现。 +.TP +gvim gview +图形界面版本。 +启动一个新窗口。 +也可使用 "\-g" 参数实现。 +.TP +evim eview +图形界面版本的简易模式。 +启动一个新窗口。 +也可使用 "\-y" 参数实现。 +.TP +rvim rview rgvim rgview +与以上类似,但带有限制。不能启动外壳命令,也不能挂起 +.B Vim +。也可使用 "\-Z" 参数实现。 +.SH 选项 +选项可以以任意顺序给出,位于文件名之前或之后。 +无参数的选项可在一个短横后合并 (例如 "\-abc")。 +.TP 12 ++[num] +对于第一个文件,光标将定位到第 "num" 行。 +"num" 省略时,光标将定位到最后一行。 +.TP ++/{pat} +对于第一个文件,光标将定位到首次出现 {pat} 的那一行。 +可用的搜索模式参见 ":help search\-pattern"。 +.TP ++{command} +.TP +\-c {command} +在读取第一个文件后执行 {command}。 +{command} 被解释为 Ex 命令。 +{command} 含有空格时,必须用双引号括起来 (具体取决于所用的外壳)。 +示例: vim "+set si" main.c +.br +注意: 最多可使用 10 个 "+" 或 "\-c" 命令。 +.TP +\-A +如果 +.B Vim +编译时加入 ARABIC 支持 (用于编辑从右到左的文件并提供阿拉伯键盘映射), +此选项将以阿拉伯模式启动 +.B +Vim +,即置位 'arabic'。否则会给出错误信息并且 +.B Vim +退出。 +.TP +\-b +二进制模式。 +将设置一些选项,以便编辑二进制或可执行文件。 +.TP +\-C +兼容模式。置位 'compatible' 选项。 +这将使 +.B Vim +大体表现得像 Vi,即使存在 .vimrc 文件也是如此。 +.TP +\-d +以比较模式启动。 +应提供两到八个文件名参数。 +.B Vim +会打开所有文件并显示它们之间的差异。 +作用与 vimdiff(1) 类似。 +.TP +\-d {device}, \-dev {device} +打开 {device} 作为终端使用。 +仅在 Amiga 上可用。 +示例: +"\-d con:20/30/600/150"。 +.TP +\-D +调试。在执行脚本的第一条命令时进入调试模式。 +.TP +\-e +以 +.B Vim +的 Ex 模式启动,就像可执行文件名为 "ex" 一样。 +.TP +\-E +以 +.B Vim +的增强 Ex 模式启动,就像可执行文件名为 "exim" 一样。 +.TP +\-f +前台。对于 GUI 版本, +.B Vim +不会分叉 (fork) 并从启动时的外壳分离。 +在 Amiga 上, +.B Vim +不会重启以打开新窗口。 +当 +.B Vim +由会等待编辑会话结束的程序 (例如邮件程序) 执行时,应使用此选项。 +在 Amiga 上,无法使用 ":sh" 和 ":!" 命令。 +.TP +\-F +如果 +.B Vim +编译时加入 FKMAP 支持 (用于编辑从右到左的文件并提供波斯语键盘映射), +此选项将以波斯语模式启动 +.B Vim +,即置位 'fkmap' 和 'rightleft'。 +否则会给出错误信息并且 +.B Vim +退出。 +.br +注意: 波斯语支持已在补丁 8.1.0932 中移除。 +.TP +\-g +如果 +.B Vim +编译时加入 GUI 支持,此选项会启用 GUI。 +如果未编译 GUI 支持,会给出错误信息并且 +.B Vim +退出。 +.TP +\-H +如果 +.B Vim +编译时加入 RIGHTLEFT 支持 (用于编辑从右到左的文件并提供希伯来语键盘映射), +此选项将以希伯来模式启动 +.B Vim +,即置位 'hkmap' 和 'rightleft'。 +否则会给出错误信息并且 +.B Vim +退出。 +.TP +\-i {viminfo} +指定读取或写入 viminfo 文件时使用的文件名,替代默认的 "~/.viminfo"。 +也可通过指定名称 "NONE" 来跳过使用 .viminfo 文件。 +.TP +\-l +Lisp 模式。 +开启 'lisp' 和 'showmatch' 选项。 +.TP +\-L +等同于 \-r。 +.TP +\-m +禁用文件修改。 +复位 'write' 选项。 +仍可修改缓冲区,但无法写入文件。 +.TP +\-M +不允许修改。将复位 'modifiable' 和 'write' 选项,以禁止更改并防止写入文件。 +注意这些选项之后可以被重新置位,以再次允许进行修改。 +.TP +\-n +不使用交换文件。 +发生崩溃后无法恢复。 +适用于在非常慢的介质 (例如软盘) 上编辑文件。 +也可通过 ":set uc=0" 实现。 +可通过 ":set uc=200" 撤销。 +.TP +\-N +非兼容模式。复位 'compatible' 选项。 +这会使 +.B Vim +表现得更好,但与 Vi 的兼容性稍差,即使不存在 .vimrc 文件也会如此。 +.TP +\-nb +成为 NetBeans 的编辑器服务器。详见文档。 +.TP +\-o[N] +打开 N 个垂直堆叠的窗口。 +N 省略时,为每个文件打开一个窗口。 +.TP +\-O[N] +打开 N 个并排窗口。 +N 省略时,为每个文件打开一个窗口。 +.TP +\-p[N] +] 打开 N 个标签页。 +N 省略时,为每个文件打开一个标签页。 +.TP +\-P {parent-title} +仅限 Win32 GUI: 指定父应用程序的标题。若可能,Vim 将在该应用程序内的 MDI 窗口 +中运行。{parent-title} 必须出现在父应用窗口标题中,且需足够具体。 +注意实现仍较为原始;并非所有应用都可用,菜单也不可用。 +.TP +\-r +列出交换文件,并提供关于恢复时使用它们的信息。 +.TP +\-r {file} +恢复模式。 +使用交换文件恢复崩溃的编辑会话。 +交换文件与文本文件同名,但附加后缀为 ".swp"。 +参见 ":help recovery"。 +.TP +\-R +只读模式。 +将置位 'readonly' 选项。 +仍可编辑缓冲区,但会防止意外覆盖文件。 +如果确需覆盖文件,请在 Ex 命令后添加感叹号,例如 ":w!"。 +\-R 选项也隐含 \-n 选项 (见上文)。 +可用 ":set noro" 来复位 'readonly' 选项。 +参见 ":help 'readonly'"。 +.TP +\-s +静默模式。仅当以 "Ex" 启动或在 "\-e" 选项之后给出 "\-s" 选项时有效。 +.TP +\-s {scriptin} +读取脚本文件 {scriptin}。 +文件中的字符将会以键盘输入的方式进行解释。 +同样效果也可通过命令 ":source! {scriptin}" 实现。 +如果在编辑器退出前到达文件末尾,将继续从键盘读取字符。 +.TP +\-S {file} +在读取第一个文件后执行 {file}。 +等同于 \-c "source {file}"。 +{file} 不能以 '\-' 开头。 +{file} 省略时,将使用 "Session.vim" (仅当 \-S 为最后一个参数时生效)。 +.TP +\-T {terminal} +告知 +.B Vim +正在使用的终端名称。 +仅当自动检测失败时需要。 +应为 +.B Vim +已知 (内置) 或在 termcap/terminfo 文件中定义的终端。 +.TP +\-u {vimrc} +使用 {vimrc} 文件中的命令进行初始化。 +其他所有初始化将被跳过。 +用于编辑特定类型的文件。 +也可通过指定名称 "NONE" 跳过所有初始化。 +详见 Vim 内的 ":help initialization"。 +.TP +\-U {gvimrc} +使用 {gvimrc} 文件中的命令进行 GUI 初始化。 +其他所有 GUI 初始化将被跳过。 +也可通过指定名称 "NONE" 跳过所有 GUI 初始化。 +详见 Vim 内的 ":help gui\-init"。 +.TP +\-v +以 +.B Vim +的 Vi 模式启动,就像可执行文件名为 "vi" 一样。仅当可执行文件名为 "ex" 时有效。 +.TP +\-V[N] +详细模式。输出关于哪些文件被执行以及读取/写入 viminfo 文件的消息。可选数值 N +为 'verbose' 的值,缺省值为 10。 +.TP +\-V[N]{filename} +和 \-V 类似,但同时设置 'verbosefile' 为 {filename}。此时消息不显示,而写入 +{filename} 文件。{filename} 不能以数位开头。 +.TP +\-w{number} +将 'window' 选项设置为 {number}。 +.TP +\-w {scriptout} +用户输入的所有字符将被记录到文件 {scriptout},直到退出 +.B Vim +为止。如果要创建用于 "vim \-s" 或 ":source!" 的脚本文件,这很有用。 +如果 {scriptout} 文件已存在,新内容将追加到该文件末尾。 +.TP +\-W {scriptout} +和 \-w 类似,但会覆盖已存在的文件。 +.TP +\-x +如果 +.B Vim +编译时加入加密支持,写入文件时使用加密。 +会提示输入加密密钥。 +.TP +\-X +不连接到 X 服务器。在终端中可缩短启动时间,但无法使用窗口标题和剪贴板。 +.TP +\-Y +不连接到 wayland 合成器。 +.TP +\-y +以 +.B Vim +的简易模式启动,就像可执行文件名为 "evim" 或 "eview" 一样。 +使 +.B Vim +表现为点击输入式的编辑器。 +.TP +\-Z +受限模式。就像可执行文件以 "r" 开头一样。 +.TP +\-\- +标记选项结束。 +其后的参数将作为文件名处理。 +这可用于编辑以 '\-' 开头的文件名。 +.TP +\-\-clean +不使用任何个人配置 (vimrc、插件等)。用于在干净 Vim 环境下检查问题是否可复现。 +.TP +\-\-cmd {command} +和 "\-c" 类似,但在处理任何 vimrc 文件之前先执行命令。 +最多可使用 10 个此类命令,与 "\-c" 命令互不影响。 +.TP +\-\-echo\-wid +仅限 GTK GUI: 在标准输出上回显窗口 ID。 +.TP +\-\-gui\-dialog\-file {name} +使用 GUI 时,不显示对话框,而是将对话框的标题和消息写入文件 {name}。 +该文件会被创建或追加写入。仅用于测试,以避免测试卡在不可见的对话框上。 +未使用 GUI 时忽略此参数。 +.TP +\-\-help, \-h, \-? +提供关于命令行参数和选项的简要帮助。 +之后 +.B Vim +退出。 +.TP +\-\-literal +按本义处理文件名参数,不展开通配符。在 Unix 上无效,因为外壳总会展开通配符。 +.TP +\-\-log {filename} +如果 +.B Vim +编译时加入 eval 和 channel 特性,启动日志记录并将条目写入 {filename}。 +其效果类似在启动早期调用 +.I ch_logfile({filename}, 'ao')。 +.TP +\-\-nofork +前台。对于 GUI 版本, +.B Vim +不会分叉 (fork) 并从启动时的外壳分离。 +.TP +\-\-noplugin +跳过插件的加载。\-u NONE 会隐含本选项。 +.TP +\-\-not\-a\-term +告知 +.B Vim +用户知道输入和/或输出未连接到终端。这将避免出现警告及随后的两秒延迟。 +.TP +\-\-remote +连接到一个 Vim 服务器,并让其编辑后续参数中给出的文件。若未找到服务器,将给出警告并在当前 Vim 中编辑这些文件。 +.TP +\-\-remote\-expr {expr} +连接到 Vim 服务器,在其中计算 {expr} 并将结果打印到标准输出。 +.TP +\-\-remote\-send {keys} +连接到 Vim 服务器并发送 {keys}。 +.TP +\-\-remote\-silent +同 \-\-remote,但在未找到服务器时不显示警告。 +.TP +\-\-remote\-wait +同 \-\-remote,但 Vim 在文件编辑完成之前不会退出。 +.TP +\-\-remote\-wait\-silent +同 \-\-remote\-wait,但在未找到服务器时不显示警告。 +.TP +\-\-serverlist +列出可发现的所有 Vim 服务器的名称。 +.TP +\-\-servername {name} +将 {name} 用作服务器名称。用于当前 Vim,除非与 +\-\-remote 参数一起使用,此时它是要连接的服务器名称。 +若使用 socketserver 后端,且名称以 "/"、"./" 或 "../"开头,则视为指向该套接字的绝对、相对或相对路径。 +.TP +\-\-clientserver {backend} +将 {backend} 用作 clientserver 功能的后端,分别为 "socket" 或 "x11"。 +仅在编译时同时加入 socketserver 和 X11 特性时可用。 +.TP +\-\-socketid {id} +仅限 GTK GUI: 使用 GtkPlug 机制在另一个窗口中运行 gVim。 +.TP +\-\-startuptime {file} +在启动期间将计时消息写入文件 {fname}。 +.TP +\-\-ttyfail +当 stdin 或 stdout 不是终端 (tty)时,立即退出。 +.TP +\-\-version +打印版本信息并退出。 +.TP +\-\-windowid {id} +仅限 Win32 GUI: 使 gVim 尝试使用窗口 {id} 作为父窗口,从而在该窗口内运行。 +.SH 在线帮助 +在 +.B Vim +中输入 ":help" 即可开始使用帮助系统。 +输入 ":help 主题" 可以查看某个特定主题的帮助。 +例如: 输入 ":help ZZ" 可查看 "ZZ" 命令的帮助。 +使用 和 CTRL-D 可以补全主题名称 (参见 ":help cmdline-completion")。 +文档中包含标签,可在不同位置之间跳转 (类似于超文本链接,参见 ":help")。 +所有文档文件都可以通过这种方式查看,例如: +":help syntax.txt"。 +.SH 文件 +.TP 15 +/usr/local/share/vim/vim??/doc/*.txt +.B Vim +文档文件。 +可用 ":help doc\-file\-list" 获取完整文档列表。 +.br +其中, +.I vim?? +为短版本名,例如 vim91 代表 +.B Vim 9.1 +。 +.TP +/usr/local/share/vim/vim??/doc/tags +用于在文档文件中查找信息的标签文件。 +.TP +/usr/local/share/vim/vim??/syntax/syntax.vim +系统范围的语法初始化代码。 +.TP +/usr/local/share/vim/vim??/syntax/*.vim +不同语言的语法文件。 +.TP +/usr/local/share/vim/vimrc +系统范围的 +.B Vim +初始化代码。 +.TP +~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc +用户个人的 +.B Vim +初始化代码 (使用首个找到的文件)。 +.TP +/usr/local/share/vim/gvimrc +系统范围的 gvim 初始化代码。 +.TP +~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc +用户个人的 +.B gVim +初始化代码 (使用首个找到的文件)。 +.TP +/usr/local/share/vim/vim??/optwin.vim +用于 ":options" 命令的脚本,这是一个用于查看和设置选项的便捷方式。 +.TP +/usr/local/share/vim/vim??/menu.vim +系统范围用于 +.B gVim +的菜单初始化代码。 +.TP +/usr/local/share/vim/vim??/bugreport.vim +用于生成漏洞报告的脚本。参见 ":help bugs"。 +.TP +/usr/local/share/vim/vim??/filetype.vim +用于根据文件名检测文件类型的脚本。参见 ":help 'filetype'"。 +.TP +/usr/local/share/vim/vim??/scripts.vim +用于根据文件内容检测文件类型的脚本。参见 ":help 'filetype'"。 +.TP +/usr/local/share/vim/vim??/print/*.ps +用于 PostScript 打印的文件。 +.PP +如需获取最新信息,请阅读 VIM 官方主页: +.br + +.SH 另见 +vimtutor(1) +.SH 作者 +绝大多数 +.B Vim +代码由 Bram Moolenaar 完成,同时得到许多其他人士的帮助。 +参见 +.B Vim +中的 ":help credits"。 +.br +.B Vim +基于由 Tim Thompson、Tony Andrews 和 G.R. (Fred) Walter 编写的 Stevie。 +不过,绝大多数原始代码已被重写。 +.SH 漏洞 +有可能。 +已知问题的列表可参见 ":help todo"。 +.PP +请注意,某些被认为是漏洞的现象,实际上源于对 Vi 行为的高度忠实复制。 +如果仅因为 Vi 的表现不同而认为某些行为是漏洞,请参阅 vi_diff.txt 文件 (或在Vim 中执行 :help vi_diff.txt)。 +同时请查阅 'compatible' 与 'cpoptions' 选项。 diff --git a/runtime/doc/vimdiff-zh_CN.UTF-8.1 b/runtime/doc/vimdiff-zh_CN.UTF-8.1 new file mode 100644 index 0000000000..1adf197acb --- /dev/null +++ b/runtime/doc/vimdiff-zh_CN.UTF-8.1 @@ -0,0 +1,44 @@ +.TH VIMDIFF 1 "2021 June 13" +.SH 名称 +vimdiff \- 使用 Vim 同时编辑二至八个版本的文件并显示差异 +.SH 概述 +.br +.B vimdiff +[选项] 文件1 文件2 [文件3 [文件4 [文件5 [文件6 [文件7 [文件8]]]]]] +.PP +.B gvimdiff +.SH 描述 +.B Vimdiff +会启动 +.B Vim +并同时打开二到八个文件。 +每个文件各占一个窗口。 +文件之间的差异会被高亮显示。 +这可以很方便的检查变更以及在不同版本间同步修改。 +.PP +关于 Vim 本身的详细信息,请参见 vim(1)。 +.PP +若以 +.B gvimdiff +方式启动,则会启用图形界面(如果可用)。 +.PP +每个窗口都会开启 'diff' 选项,用以高亮显示差异。 +.br +选项 'wrap' 和 'scrollbind' 也会被开启,确保文本显示效果良好。 +.br +选项 'foldmethod' 被设为 "diff",这样未发生变更的行段会被自动折叠起来。 +同时 'foldcolumn' 设为 2,方便用户发现、展开和关闭折叠。 +.SH 选项 +默认使用纵向分割窗口来对齐行,效果等同于指定了 "\-O" 参数。 +若要改为横向分割,可使用 "\-o" 参数。 +.PP +其他选项请参见 vim(1)。 +.SH 另见 +vim(1) +.SH 作者 +绝大多数 +.B Vim +代码由 Bram Moolenaar 完成,并得到了众多人士的大力协助。 +参见 +.B Vim +中的 ":help credits"。 diff --git a/runtime/doc/vimtutor-zh_CN.UTF-8.1 b/runtime/doc/vimtutor-zh_CN.UTF-8.1 new file mode 100644 index 0000000000..5b7f9729af --- /dev/null +++ b/runtime/doc/vimtutor-zh_CN.UTF-8.1 @@ -0,0 +1,104 @@ +.TH VIMTUTOR 1 "2024 December 03" +.SH 名称 +vimtutor \- Vim 教程 +.SH 概述 +.br +.B vimtutor [\-l | \-\-language ISO639] [\-c | \-\-chapter 数字] [\-g | \-\-gui] [ISO639] +.br +.B vimtutor [\-h | \-\-help] +.br +.B vimtutor [\-\-list] +.SH 描述 +.B Vimtutor +会启动 +.B Vim +教程。 +.PP +.B Vimtutor +适合想要学习 +.B Vim +基本命令的初学者。 +可选的 [ISO639] 参数是语言的两个或三个字母代码, +例如 "it"(意大利语)或 "es"(西班牙语)。 +.PP +.B Vimtutor +仅打开原始教程文件的临时副本,不会覆盖课程内容。 +.PP +.B Vim +始终以 +.B Vi +不兼容模式启动。 +.SH 选项 +.TP +.BR \-l ", " \-\-language\ \fIISO639\fR +设置两个或三个字母的语言代码,例如 'it'、'es'、'bar'。 +默认使用当前区域设置对应的语言(若可用),否则使用英语。 +.TP +.BR \-c ", " \-\-chapter\ \fI数字\fR +设置章节编号,默认为第一章。 +.TP +.BR \-g ", " \-\-gui +以图形界面版本的 Vim 启动 +.B vimtutor +(若可用),否则回退到控制台版本的 Vim。 +.TP +.BR \-h ", " \-\-help +显示用法信息。 +.TP +.BR \-\-list +显示所有可用的章节和语言列表。 +.SH 示例 +以德语启动 +.B vimtutor +并进入第一章: +.PP +.nf +.RS +vimtutor de +.RE +.fi +.PP +以英语启动并进入第二章: +.PP +.nf +.RS +vimtutor -c2 +.RE +.fi +.PP +以巴伐利亚语在图形界面下启动并进入第一章(长选项格式): +.PP +.nf +.RS +vimtutor --language bar --chapter 1 --gui +.RE +.fi +.SH 文件 +.TP 15 +/usr/local/share/vim/vim??/tutor/tutor1[.language] +.B Vimtutor +第一章的文本文件。 +.TP 15 +/usr/local/share/vim/vim??/tutor/tutor2[.language] +.B Vimtutor +第二章的文本文件。 +.TP 15 +/usr/local/share/vim/vim??/tutor/tutor.vim +用于复制 +.B Vimtutor +文本文件的 +.B Vim +脚本。 +.SH 作者 +.B 《Vi 教程》 +最初由科罗拉多矿业学院的 Michael C. Pierce 和 Robert K. Ware 为 Vi 编写, +并采用了科罗拉多州立大学 Charles Smith 提供的构思。 +.B 电子邮件:bware@mines.colorado.edu(现已失效)。 +.PP +后由 Bram Moolenaar 修改为适用于 +.B Vim +的版本。 +.PP +各翻译版本的贡献者列于教程文件中。 +.SH 参见 +vim(1) diff --git a/runtime/doc/xxd-zh_CN.UTF-8.1 b/runtime/doc/xxd-zh_CN.UTF-8.1 new file mode 100644 index 0000000000..2ce5949820 --- /dev/null +++ b/runtime/doc/xxd-zh_CN.UTF-8.1 @@ -0,0 +1,417 @@ +.TH XXD 1 "Mar 2026" "Manual page for xxd" +.\" +.\" 21st May 1996 +.\" 手册页作者: +.\" Tony Nugent +.\" 由 Bram Moolenaar 修改 +.SH 名称 +.I xxd +\- 生成十六进制转储或执行反向操作 +.SH 概述 +.B xxd +\-h[elp] +.br +.B xxd +[options] [infile [outfile]] +.br +.B xxd +\-r[evert] [options] [infile [outfile]] +.SH 描述 +.I xxd +可以生成给定文件或标准输入的十六进制转储。 +它也可以将十六进制转储还原回原始的二进制形式。 +与 +.BR uuencode (1) +和 +.BR uudecode (1) +类似,它允许以"邮件安全"的 ASCII 表示形式传输二进制数据, +但其优点是可以解码到标准输出。 +此外,它还可用于执行二进制文件修补。 +.SH 选项 +如果未指定 +.I infile +,则读取标准输入。 +如果 +.I infile +指定为 +.RB \` \- ' +字符,则从标准输入读取输入。 +如果未指定 +.I outfile +(或其位置是 +.RB \` \- ' +字符),则结果发送到标准输出。 +.PP +注意:程序使用"懒惰"解析器,除非选项后跟有参数,否则不会检查超过第一个选项字母。 +单个选项字母与其参数之间的空格是可选的。 +选项参数可以用十进制、十六进制或八进制表示法指定。 +因此 +.BR \-c8 、 +.BR "\-c 8" 、 +.B \-c 010 +和 +.B \-cols 8 +都是等效的。 +.PP +.TP +.IR \-a " | " \-autoskip +切换自动跳过:单个 '*' 替换全零行。默认关闭。 +.TP +.IR \-b " | " \-bits +切换到比特(二进制数字)转储,而非十六进制转储。 +此选项将每个字节写为八个"1"和"0"数字,而不是普通的十六进制转储。 +每行前面有十六进制的行号,后面跟着 ASCII(或 EBCDIC)表示形式。 +命令行开关 \-p 在此模式下无效。可与 \-i 结合使用。 +.TP +.IR "\-c cols " | " \-cols cols" +每行格式化 +.RI < cols > +个字节。默认 16(\-i 模式: 12,\-ps 模式: 30,\-b 模式: 6)。最大 256。 +\-ps 模式无最大值。在 \-ps 模式下,值为 0 时输出为单行。 +.TP +.IR \-C " | " \-capitalize +使用 \-i 选项时,按 C 语言头文件(include file)的风格将变量名大写。 +.TP +.I \-d +以十进制而非十六进制显示偏移量。 +.TP +.IR \-E " | " \-EBCDIC +将右侧列的字符编码从 ASCII 更改为 EBCDIC。 +这不会改变十六进制表示。此选项与 \-r、\-p 或 \-i 组合使用时无效。 +.TP +.IR \-e +切换到小端序十六进制转储。 +此选项将字节组视为小端字节序的字。 +默认的 4 字节分组可通过 +.RI "" \-g +更改。 +此选项仅适用于十六进制转储,保持 ASCII(或 EBCDIC)表示不变。 +命令行开关 \-r、\-p、\-i 在此模式下无效。 +.TP +.IR "\-g bytes " | " \-groupsize bytes" +每隔 +.RI < bytes > +个字节(每个字节对应两位十六进制字符或八位比特数字)用空格分隔输出。 +指定 +.I \-g 0 +可取消分组。 +.RI < Bytes > +在普通模式下默认为 \fI2\fP,在小端模式下为 \fI4\fP,在比特模式下为 \fI1\fP。 +分组不适用于 PostScript 或 C 语言头文件(include)样式。 +.TP +.IR \-h " | " \-help +打印可用命令摘要并退出。不执行十六进制转储。 +.TP +.IR \-i " | " \-include +按 C 语言头文件(include file)的风格输出。 +通常写入完整的静态数组定义(以输入文件命名),从 stdin 读取时除外。 +可与 -b 共用。 +.TP +.IR "\-l len " | " \-len len" +写入 +.RI < len > +个字节后停止。 +.TP +.I "\-n name " | " \-name name" +当使用 \-i 时覆盖输出的变量名。数组命名为 +\fIname\fP,长度命名为 \fIname\fP_len。 +.TP +.I \-o offset +将 +.RI < offset > +添加到显示的文件位置。 +.TP +.IR \-p " | " \-ps " | " \-postscript " | " \-plain +以 PostScript 连续十六进制转储样式输出。也称为纯十六进制转储样式。 +.TP +.IR \-r " | " \-revert +反向操作:将十六进制转储转换(或修补)为二进制。 +如果不写入标准输出,xxd 写入输出文件时不截断文件。 +使用 +.I \-r \-p +组合可以读取没有行号信息且无特定列布局的纯十六进制转储。 +允许任意位置的额外空格和换行符。 +使用 +.I \-r \-b +组合可以读取比特转储而非十六进制转储。 +.TP +.IR \-R " " when +在输出中,十六进制值和 ASCII 值根据十六进制值使用相同颜色着色。 +主要用于帮助区分可打印字符和不可打印字符。 +.I \fIwhen\fP +可以是 +.BR never 、 always 或 auto (默认: auto)。 +当设置了 +.BR $NO_COLOR +环境变量时,将禁用着色。 +.TP +.I \-seek offset +当在 +.IR \-r +之后使用时:还原时在十六进制转储中找到的文件位置上添加 +.RI < offset >。 +.TP +.I \-s [+][\-]seek +从 +.RI < seek > +字节的绝对(或相对)输入文件偏移量处开始。 +\fI+ \fR 表示偏移量相对于当前标准输入文件位置(不从标准输入读取时无效)。 +\fI\- \fR 表示偏移量应从输入末尾向前计数多少字符(或与 \fI+\fR 组合时:在当前标准输入文件位置之前)。 +如果不带 \-s 选项,xxd 从当前文件位置开始。 +.TP +.I \-t +当使用 \-i 以 C 语言头文件(include file)的风格输出时,包含结尾的零字节。 +.TP +.I \-u +使用大写十六进制字母。默认为小写。 +.TP +.IR \-v " | " \-version +显示版本字符串。 +.SH 注意事项 +.PP +.I xxd \-r +在解析行号信息时具有一些内置的智能处理。 +如果输出文件可寻址,则每个十六进制转储行开头的行号可能乱序、行可能缺失或重叠。 +在这些情况下,xxd 会使用 lseek(2) 跳转到下一个位置。如果输出文件不可寻址,则只允许间隙,这些间隙将由空字节填充。 +.PP +.I xxd \-r +从不生成解析错误。垃圾数据会被静默跳过。 +.PP +编辑十六进制转储时,请注意 +.I xxd \-r +在读取足够列数的十六进制数据后(参见 \-c 选项),会跳过输入行上的所有其他内容。 +这也意味着对可打印 ASCII(或 EBCDIC)列的更改总是被忽略。 +使用 xxd \-r \-p 还原纯十六进制转储(或 PostScript)样式时,不依赖于正确的列数。 +在这种情况下,任何看起来像一对十六进制数字的内容都会被解释。 +.PP +注意以下两者的区别: +.br +\fI% xxd \-i file\fR +.br +和 +.br +\fI% xxd \-i < file\fR +.PP +.I xxd \-s +seek +可能与 +.IR "xxd \-s seek" +不同,因为 lseek(2) 用于"回退"输入。 +如果输入源是标准输入,并且在 xxd 启动并接收输入时标准输入的文件位置不在文件开头,那么 '+' 就会产生影响。 +以下示例可能有助于澄清(或进一步混淆!): +.PP +在读取前回退标准输入;因为 `cat` 已经读到了标准输入的末尾。 +.br +\fI% sh \-c "cat > plain_copy; xxd \-s 0 > hex_copy" < file\fR +.PP +从文件位置 0x480(=1024+128)开始生成十六进制转储。 +`+` 号表示"相对于当前位置",因此 `128` 加到了 dd 停止的 1k 位置之后。 +.br +\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +128 > hex_snippet" < file\fR +.PP +从文件位置 0x100(=1024\-768)开始生成十六进制转储。 +.br +\fI% sh \-c "dd of=plain_snippet bs=1k count=1; xxd \-s +\-768 > hex_snippet" < file\fR +.PP +然而,这种情况很少见,`+` 的使用通常并不需要。 +作者建议在使用 \-s 时,用 strace(1) 或 truss(1) 监控 xxd 的效果。 +.SH 示例 +.PP +.br +打印 +.BR file +除前三行(十六进制 0x30 字节)之外的所有内容。 +.br +\fI% xxd \-s 0x30 file\fR +.PP +.br +从 +.BR file +末尾开始打印 3 行(十六进制 0x30 字节)。 +.br +\fI% xxd \-s \-0x30 file\fR +.PP +注意:以下示例的结果基于 2026 年 3 月的 xxd.1 手册页。 +.PP +.br +打印 120 字节,以连续十六进制转储格式,每行 20 个字节。 +.br +\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR +.br +2e544820585844203120224d6172203230323622 +.br +20224d616e75616c207061676520666f72207878 +.br +64220a2e5c220a2e5c222032317374204d617920 +.br +313939360a2e5c22204d616e2070616765206175 +.br +74686f723a0a2e5c2220202020546f6e79204e75 +.br +67656e74203c746f6e79407363746e7567656e2e +.br + +.br +将此手册页的前 120 字节以每行 12 个字节进行十六进制转储。 +.br +\fI% xxd \-l 120 \-c 12 xxd.1\fR +.br +00000000: 2e54 4820 5858 4420 3120 224d .TH XXD 1 "M +.br +0000000c: 6172 2032 3032 3622 2022 4d61 ar 2026" "Ma +.br +00000018: 6e75 616c 2070 6167 6520 666f nual page fo +.br +00000024: 7220 7878 6422 0a2e 5c22 0a2e r xxd"..\\".. +.br +00000030: 5c22 2032 3173 7420 4d61 7920 \\" 21st May +.br +0000003c: 3139 3936 0a2e 5c22 204d 616e 1996..\\" Man +.br +00000048: 2070 6167 6520 6175 7468 6f72 page author +.br +00000054: 3a0a 2e5c 2220 2020 2054 6f6e :..\\" Ton +.br +00000060: 7920 4e75 6765 6e74 203c 746f y Nugent output_file\fR +.br + +.br +修补文件 xxd.1 中的日期。 +.br +\fI% echo "0000034: 3574 68" | xxd \-r \- xxd.1\fR +.br +\fI% xxd \-s 0x33 \-l 13 \-c 13 xxd.1\fR +.br +00000033: 3235 7468 204d 6179 2031 3939 36 25th May 1996 +.PP +.br +创建一个 65537 字节的文件,所有字节均为 0x00, +除了最后一个字节是 'A'(十六进制 0x41)。 +.br +\fI% echo "010000: 41" | xxd \-r > file\fR +.PP +.br +使用自动跳过模式对此文件进行十六进制转储。 +.br +\fI% xxd \-a \-c 12 file\fR +.br +00000000: 0000 0000 0000 0000 0000 0000 ............ +.br +* +.br +0000fffc: 0000 0000 41 ....A +.PP +创建一个 1 字节的文件,包含单个字符 'A'。 +在 '\-r \-s' 后面的数字会加到文件中找到的行号上; +实际效果是抵制了开头的字节。 +.br +\fI% echo "010000: 41" | xxd \-r \-s \-0x10000 > file\fR +.PP +在编辑器(如 +.B vim(1) +)中将 xxd 用作过滤器,对 `a` 和 `z` 之间的标记区域进行十六进制转储。 +.br +\fI:'a,'z!xxd\fR +.PP +在编辑器(如 +.B vim(1) +)中将 xxd 用作过滤器,恢复标记在 `a` 和 `z` 之间的二进制十六进制转储。 +.br +\fI:'a,'z!xxd \-r\fR +.PP +在编辑器(如 +.B vim(1) +)中将 xxd 用作过滤器,恢复一行十六进制转储。将光标移动到该行并键入: +.br +\fI!!xxd \-r\fR +.PP +从串行线读取单个字符。 +.br +\fI% xxd \-c1 < /dev/term/b &\fR +.br +\fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR +.br +\fI% echo \-n foo > /dev/term/b\fR +.PP +以 C 语言头文件(include)的风格输出,并包含结尾的零字节。 +.br +\fI% echo -n \&"0123456789\&" > digits\fR +.br +\fI% xxd -i -t digits\fR +.br +unsigned char digits[] = { +.br + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x00 +.br +}; +.br +unsigned int digits_len = 10; +.PP +.SH "返回值" +返回以下错误值: +.TP +0 +未遇到错误。 +.TP +\-1 +不支持的操作 +\%(\c +.I \%xxd \-r \-i +仍不可用)。 +.TP +1 +解析选项时出错。 +.TP +2 +输入文件问题。 +.TP +3 +输出文件问题。 +.TP +4,5 +无法到达所需的查找位置。 +.SH 另见 +uuencode(1), uudecode(1), patch(1) +.br +.SH 警告 +此工具的各种古怪特性与其创建者的大脑如出一辙。 +使用风险完全自负。切记复制文件。梳理结构。终成大师。 +.br +.SH 版本 +此手册页记录的是 2024 年 5 月的 xxd 版本 1.7。 +.SH 作者 +.br +(c) 1990-1997 由 Juergen Weigert 编写 +.br + +.LP +自由分发并保留我的署名, +.br +赚钱了请与我分享, +.br +亏钱了别来找我。 +.PP +手册页由 Tony Nugent 创建 +.br + +.br +Bram Moolenaar 做了少量修改。 +由 Juergen Weigert 编辑。 +.PP