三十年前刚开始接触UNIX系统,那时的PC机还不算普及。各单位多在使用的是大盘铅字钉的中文打字机,如果能用起四通2401打字机的公司就是相当不错的单位。当时的中国人民保险公司计算机系统应用刚刚起步建立,基层还只能是业务处理相关系统才能用的起计算机。业务使用的主力设备通常是好利获得(Olivetti)M380/XP9或宏基(Acer)Altos1700的386机器,略先进一点的就用Unisys较新的 486机器U6000/15。机器操作系统安装SCO3.0或AT&T的 UNIX SVR4等多用户操作系统。时值乐山市市中区保险支公司就新购一台U6000/15机用于业务处理,前端都使用字符终端登录 U15机进行机动车保险业务处理。除了专业计算机人员外,其它部门人员都只能接触到字符终端。当时的字符终端都是哑设备,不带汉字编辑排版功能。为了方便职工学习打字和进行简单的中文编辑,本人在完成业务系统开发和推广应用外,使用 C语言编制了一套适合UNIX多用户系统下在字符终端上进行中文字处理的软件。取名Word for UNIX,简称WU。此软件曾在四川省分公司进行推广应用,为柜台操作和各类人员使用计算机处理汉字、打印文档提供了方便。甚至有部份地市公司财务人员还喜欢上这个软件,因为利用其简单的制表功能可以解决当时仍在进行手工计算的发放工资等简单表格处理问题。如今找出当时编制的程序和用户手册只能算是一个回忆,安装适配调试后寻找和修改30年前的 BUG也算是一种乐趣。
Word for UNIX 用户手册
㈠、简 介

WU是针对UNIX系统的特点而开发的集成软件。其将汉字处理、画线制表与数据加工融为一体, 吸收了 DOS系统中汉字编辑软件的许多优点, 尤其适合熟悉 DOS的人员使用。
其字处理功能与DOS中的WPS相似, 支持菜单管理, 可对文字块(包括行块和字块)进行复制、移动、删除; 可对字符串进行全文查找、替换、删除等操作。
其制表功能与 DOS中的CCED相似, 可进行手动画表或自动生成规则表格, 能对表进行列宽或行宽调整, 任意增加或减少行数与列数; 当向表内填充数据时, 线保护状态可使表线不受破坏; 还能对表格中的数值按行或列进行求和计算。
其打印功能是利用终端或打印机内的字库进行, 能方便地选择全文、部分文段或文字块进行终端打印输出; 可用点命令选择字体倍宽、倍高或宽高同时放大, 还能对字距、行距进行调整。
在显示和打印输出时, WU用两个可显示字符来表示ASCII值在0~31和127~160之间的控制字符, 但在存文件时仍使用原值。因此处理方式WU可用于编辑可执行程序及目标程序中的提示信息。
WU还能对文件进行加密存盘处理以增加文件的私密性。
㈡、WU程序安装说明
以超级用户登录, 在目录/tmp下用tar命令将软盘上的程序拷入系统,然后根据自己使用机器的操作系统选择执行下列安装命令。如果是不能以root登录的系统,可在以下命令前加sudo 获得超级用户权限执行命令。
①使用AT&T UNIX SVR4及以上版本系统的机器
(如: UNiSYS U6000/15/35、LEO486/66等)
执行命令:
./inst.ux -npicc
②使用AT&T UNIX SVR3及SCO UNIX 3.2.2版本系统的机器
(如: UNiSYS U6000/30、Olivetti M380/XP9、Altos1700等)
执行命令:
./inst.oli -npicc
③使用AIX UNIX Version 4版本系统的机器
(如: IBM RS6000 等)
执行命令:
./inst.aix -npicc
④使用HP_UX UNIX Version 10.02版本系统的机器
(如: HP小型机 d270 9000Superdome 等)
执行命令:
./inst.hp -npicc
⑤使用SCO UNIX OpenServer R5.0.5版本系统的机器
(如: x86的PC机、PC服务器 等)
执行命令:
./inst.s5 -npicc
⑥使用Fujitus UNIX 版本系统的机器
(如: Fujitus服务器 等)
执行命令:
./inst.fuj -npicc
⑦使用Red Hat Enterprise Linux Ext 5.7(x64)版本系统的机器
(如: x86的PC机、PC服务器等安装64位Linux版本的机器系统)
执行命令:
./inst.red -npicc
⑧使用Red Hat Enterprise Linux AS 2.6.9-78(x32)版本系统的机器
(如: x86的PC机、PC服务器等安装32位Linux版本的机器系统)
执行命令:
./inst.r32 -npicc
或执行下列安装命令通过屏幕选择相应的安装程序:
sh install
程序安装完成以后即可在任意目录下使用WU, 命令格式为:
wu [文件名]
wu -help (可直接进入演示帮助信息操作)
在编辑过程中可随时使用F8键获得在线帮助信息; Esc+Esc或Ctrl-@进入管理菜单。
㈢、说明
①.文件说明:
install SHELL安装程序
inst.oli SCO UNIX 及 AT&T UNIX SVR3系统用装程序
inst.ux AT&T UNIX SVR4系统用安装程序
inst.s5 SCO OpenServer UNIX R5.0.5系统用装程序
inst.aix IBM AIX UNIX 系统用安装程序
inst.hp HP_UX UNIX V10.2系统用安装程序
inst.fuj Fujitus UNIX System系统用安装程序
inst.r32 Red Hat Linux AS 2.6.9-78(x32)系统用安装程序
inst.red Red Hat Linux Ext 5.7(x64)系统用安装程序
example 打印输出示例
read.me read.me文本
wu AT&T UNIX SVR4系统用主文件
wuch AT&T UNIX SVR4系统用汉字码转换程序
wudeb AT&T UNIX SVR4系统用文件调试程序
wu.help WU调用的帮助文件
wu.prt WU调用的自定义打印遥控指令文件(由用户自定义生成)
wu.oli SCO UNIX 及 AT&T UNIX SVR3系统用主文件
wuch.oli SCO UNIX 及 AT&T UNIX SVR3系统用汉字码转换程序
wudeb.oli SCO UNIX 及 AT&T UNIX SVR3系统用文件调试程序
wu.s5 SCO OpenServer R5.0.5 系统用主文件
wuch.s5 SCO OpenServer R5.0.5 系统用汉字码转换程序
wudeb.s5 SCO OpenServer R5.0.5 系统用文件调试程序
wu.aix IBM小型机 AIX UNIX 系统用主文件
wuch.aix IBM小型机 AIX UNIX 系统用汉字码转换程序
wudeb.aix IBM小型机 AIX UNIX 系统用文件调试程序
wu.hp HP小型机 HP_UX UNIX 系统用主文件
wuch.hp HP小型机 HP_UX UNIX 系统用汉字码转换程序
wudeb.hp HP小型机 HP_UX UNIX 系统用文件调试程序
wu.fuj Fujitus UNIX System系统用主文件
wuch.fuj Fujitus UNIX System系统用汉字码转换程序
wudeb.fuj Fujitus UNIX System系统用文件调试程序
wu.red Red Hat Linux Ext 5.7(x64)系统用主文件
wuch.red Red Hat Linux Ext 5.7(x64)系统用汉字码转换程序
wudeb.red Red Hat Linux Ext 5.7(x64)系统用文件调试程序
wu.r32 Red Hat Linux AS 2.6.9-78(x32)系统用主文件
wuch.r32 Red Hat Linux AS 2.6.9-78(x32)系统用汉字码转换程序
wudeb.r32 Red Hat Linux AS 2.6.9-78(x32)系统用文件调试程序
②.本文件的内容为WU的帮助信息, 在WU的编辑状态下可用F8键随时阅读, 在阅读的同时还可用F4或PF1及PF4打印输出; 也可在管理菜单中选<印用户手册>来打印输出较完整的手册。
③.在使用过程中遇到的问题或有建议, 请与作者联系您将获得及时的技术支持和服务。
地址: 四川省乐山市嘉定北路65号 78621
Email: [email protected]
一九九六年八月十八日
㈣、HELP 显示信息
一、存盘、退出与文件加密

F1 将已编辑文本存盘, 然后退出WU
F2 将已编辑文本另存盘, 然后重新编辑另一文本或暂停编辑返回执行Shell
(用exit或Ctrl-D命令可再回到原编辑状态)
Ctrl_W 已编辑文本存盘后继续编辑该文本
Ctrl-X 放弃已编辑文本, 不存盘退出WU
Ctrl_E 加密/解密 转换开关
当加密开关打开时, 在屏幕下方状态行的左端将有一星号(*)显示;否则显示为一空格。
Insert(Ins、C1)
F11 插入/替换 方式转换
F7 普通/画线表/线保护 状态转换
加密存盘操作
当加密开关为打开时, 对F1或F2的存文件操作WU将先提示输入加密密码; 经核对密码正确以后, 再按特定算法对文件中的信息进行加密处理, 然后以特定格式存盘。加密后的磁盘文件若利用其他一般编辑工具是无法得到正确原文的(显示均为不可读或混乱字符), 只有利用WU并输入正确的密码后方能得到正确原文件。
对文件进行编辑时, WU自动识别文件是否加密, 对加密文件WU提示输入加密密码, 然后读入文件。如果密码不正确, 将得不到正确的原文和改写原文件的权利。
加密文件时若不输入密码,则选择自动加密存盘。读取自动加密文件时,不用输入密码,询问输入密码时直接回车键即可。
F8 阅读帮助信息
用↑↓或数字 0~9及A B 键来选择阅读项目;
用 ← →键来翻阅每个项目中的各页;
用 PF4键可打印输出当前项的帮助内容;
用 PF1或F4键可打印输出全部帮助内容;
用Ctrl-P可打印输出疑问表格。
二、光标移动

← 光标左移一个字符, 行首时移到上行末
→ 光标右移一个字符, 行未时移到下行首
↑ 光标上移一行
↓ 光标下移一行
F5 光标移至行首
F6 光标移至行末
Ctrl-U 光标上移10行
Ctrl-D 光标下移10行
C2
PageUP 屏幕上移10行
C4
PageDOWN 屏幕下移10行
Ctrl-B 屏幕向前翻一页
Ctrl-F 屏幕向后翻一页
Home 光标移至屏幕左上角
End
Shift-Home 光标移至屏幕下方最后一行
Ctrl-V 光标向后移动到下一文段后的第一个空行或第一个点命令行
Ctrl-A 光标向前移动到上一文段前的第一个空行或第一个点命令行
Ctrl-R 当屏幕右端有内容时, 屏幕显示可向右移动一次; 每次向右移动70列
Ctrl-L 当屏幕左端有内容时, 屏幕显示可向左移动一次; 每次向左移动70列
PF2 显示编辑文件总行数、字节数以及光标所在行的行号;
此时可输入无符号数将光标移到指定的行,
若数前有'+'号, 则光标向后移动指定的行数,
若数前有'-'号, 则光标向前移动指定的行数,
若输入 0表示转到文件最后一行。
F12
Ctrl-^ 寻找匹配括号。
当光标所处位置是括号'{}、[]、()、<>'之一时,将把光标定位到与之对应匹配的另一个括号处。
三、删除与复制

<X] (即Backspace)
Ctrl-H 删除光标左侧一字符 (或一个汉字), 行首时使用可将本行连到上行末尾。
Delete(Del、C3)
PF1 删除光标处的一字符 (或一个汉字), 行尾时使用可将下行连接上来。
Erase Page
Ctrl-Y 删除光标所在行 (可用Shift-Erase Page恢复)
Shift-Erase Page
Ctrl-Z 恢复最近一次用Erase Page键所删除过的一行,允许多次恢复, 因此可用作行复制键。
Erase Eol 删除光标后半行 (含光标处字符)
Shift-Erase Eol 删除光标以前半行 (不含光标处字符)
Ctrl-K 定义由光标位置开始的一个词组, 最多可定义10个不同的词组
Ctrl-C 在光标处复制已由Ctrl-K定义过的词组或者输入汉字特殊符号
F9 定义/撤消行块
F10 对由F9键定义的行块进行复制、移动、删除或存为文件或读入任意文件以行块形式插入等操作
Ctrl-P 定义/撤消字块
Ctrl-G 对由Ctrl-P定义的字块进行复制、移动、删除或存为文件或读入任意文件以字块形式插入等操作
以上六功能键Ctrl-K、Ctrl-C、F9、F10、Ctrl-P和Ctrl-G的详细定义及使用方法请参阅<文字块与文档>㈠、㈡、㈢。
Ctrl-N 复制光标之上行 (或下行) 的若干个字符到本行光标处。
按一次Ctrl-N, 复制光标上行的字符;连续按二次Ctrl-N, 复制光标下行的字符。
按一次或二次Ctrl-N后, WU将再等待输入一至二键:
①输入下列键确定复制字符个数, 若直接输入这些键则复制的开始位置为光标处:
数字键 k(0~9) ── 复制 k个字符(k=0时为10个字符);
字母键 (a~z 或 A~Z) ── 复制 11~36个字符;
Return键── 复制至行尾处结束;
LF 键 ── 复制前半行或至光标处结束;
空格键 ── 复制一整行。
②输入下列键可调整开始复制的位置, 然后需再输入确定复制字符个数的键①:
F1~F10键 ── 从光标处之前1~10个字符处开始复制;
F11键 ── 从行首处开始复制;
Shift-数字键 (即:!@#$%^&*()) ── 从光标处之后1~10个字符处开始复制。
四、文字块与文档操作
㈠、行块的定义与操作:

F9 定义/撤消行块
F9键为一个反复键, 在定义行块时只须将光标移至要定义的块首行按F9键,然后再将光标移至块末行再按F9键即可。定义好的行块以反白显示。行块定义后若再按F9键, 则是撤消该行块定义。
F10 行块操作
通过状态行提示, 选择对行块进行复制、移动、删除操作或将行块存为一个文件或读入另一文件(或字块)以行块方式插入至光标处。
被删除的行块, 在下一次重新定义行块之前可以用复制或移动行块操作来实现恢复, 甚至允许是退出后再重新进入的WU编辑。利用这一特性可将行块在两个文件中进行相互传递, 具体方法参见 <使用技巧>㈢。
㈡、字块的定义与操作:

Ctrl-P 定义/撤消字块
在定义字块时只须将光标移至要定义的块首或块尾按Ctrl-P, 然后可用移动光标键 (↑↓←→) 来确定字块的范围, 定义好的范围将以反白显示; 如果定义的范围为空或是光标在行末时按的Ctrl-P则是将已有的定义字块撤消。
每次定义均以Ctrl-P或Return键或空格表示结束。
Ctrl-G 字块操作
按Ctrl-G后, 通过状态行提示选择对字块进行插入复制、覆盖复制、移动、删除操作或将字块存为一个文件或读入另一文件(或行块)以字块方式插入至光标处。
被删除的字块, 在下一次重新定义字块之前可以用复制、覆盖或移动字块操作来实现恢复, 甚至允许是退出后再重新进入的WU编辑。利用这一特性可将字块在两个文件中进行相互传递, 具体方法参见 <使用技巧>㈢。
㈢、词组的定义与操作:
Ctrl-K 定义/撤消词组
按Ctrl-K后, 可键入一个数字选定要定义的词组号, WU中总共可定义10个词组,分别用0~9表示。通过左移或右移光标键来确定要定义词组的范围, 定义好的范围加下划线显示; 如果定义的范围为空则是将该词组已有定义撤消。
每次定义以Ctrl-K或Return键或空格键表示结束; 定义时若使用d键,则在结束定义的同时并将有下划线的范围删除, 因此该定义操作也可作为删除操作来使用,且具有可恢复性 (用词组复制操作Ctrl-C) 。
当光标处于行尾时按Ctrl-K键, 为查阅所有已定义词组和可输入汉字特殊符号。
Ctrl-C 在光标处复制词组或输入汉字特殊符号
按Ctrl-C, 状态行将提示所有可能的选择, 用数字键0~9确定词组号, WU即可在光标处复制选定的词组; 若敲入以下所列键则可输入对应汉字标点或其他特殊符号等:
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ` → 、┃ . → 。┃ ! → !┃ , → ,┃ : → :┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ ; → ;┃ ? → ?┃ _ → …┃ % → ‰┃ @ → @┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ c → ℃┃ ' →“ ┃ " → ”┃ < →《 ┃ > → 》┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ n → №┃ { →【 ┃ } → 】┃ [ →〖 ┃ ] → 〗┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ * → ×┃ / → ÷┃ - → -┃ + → +┃ = → ±┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃F1 → ①┃F2 → ②┃F3 → ③┃F4 → ④┃F5 → ⑤┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃F6 → ⑥┃F7 → ⑦┃F8 → ⑧┃F9 → ⑨┃F10→ ⑩┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ q → Ⅰ┃ w → Ⅱ┃ e → Ⅲ┃ r → Ⅳ┃ t → Ⅴ┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ y → Ⅵ┃ u → Ⅶ┃ i → Ⅷ┃ o → Ⅸ┃ p → Ⅹ┃
┣━━━━╋━━━━╋━━━━┻━━━━┻━━━━┫
┃ a → Ⅺ┃ s → Ⅻ┃ 光标键对应 ↑ ↓ ← → ┃
┣━━━━╋━━━━╋━━━━┳━━━━┳━━━━┫
┃ d → ㈠┃ f → ㈡┃ g → ㈢┃ h → ㈣┃ j → ㈤┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ k → ㈥┃ l → ㈦┃ z → ㈧┃ x → ㈨┃ m → ㈩┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃PF1→ ┈┃PF2→ ┉┃PF3→ ┊┃PF4→ ┋┃F11→ §┃
┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━┫
┃ v → ☆┃ b → ★┃ ( →『 ┃ ) → 』┃ BS→ ∽┃
┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┛
㈣、文档操作:

Ctrl-S 文档操作
按Ctrl-S, 状态行将提示能够完成的文档操作内容; 通过选择可进行创建目录、改变工作目录、删除文件与目录、查阅目录中文件名以及对已存在的文件进行改名等功能。
改变工作目录的功能只改变WU所使用的当前目录, 退出WU后, 当前目录仍将回到进入时的当前目录之下。
五、字符串的查找、替换与删除

PF4 查找字符串
按 PF4键后, 在提示行输入要查找的字符串并以Return键结束。
WU首先从当前行开始向文件末尾查找, 光标停在找到的第一个相符字符串之首, 此时提示是否继续(Y/N) : 若键入N, 则退出查找进入编辑, 此时可对找到的字符串进行修改等; 若键入非N, 则将继续在文中查找第二个、第三个、… 等等, 每次都将光标停在相符字符串之首等待选择。当查到文件末尾仍在继续时, WU将再转至文件头部开始查找, 直至再查找到原当前行为止, 即每次可在全文中通找一遍。
如果不输入查找字符串 (即在提示时只按Return键 ), 则取上次定义过的作为查找字符串进行查找, 若无上次定义则不做任何操作。
PF3 替换或删除字符串
按PF3键后,在提示行将分别要求输入要搜索和替换的字符串, 均以Return键结束。
WU将按查找字符串规则在文中搜索, 对搜索到的匹配字符串可由提示(^@/Y/N)选择: 选^@或Y表示执行、选N表示不执行替换(删除)操作; 然后再选择是否继续搜索 (&/Y/N), 此时可选N中断退出本操作或选^@、&、Y继续执行本操作。
如果搜索字符串缺省(只按Return键)则取上次定义过的字符串, 如果替换字符串缺省则本次是做删除操作。
注: 在回答是否进行替换(删除)操作时, 若键入Ctrl-@则在以后对找到的匹配字符每次都是直接进行替换(删除), 然后只选择是否继续搜索, 对此提问除可回答Y或N外, 还可键入Ctrl-@, 表示回到原替换(删除)前提问的方式; 或键入&,表示进一步省略是否继续搜索的提问, 而直接对以后文中的所有匹配字符串都进行替换(删除)操作。
六、画线、制表与表格中的计算
㈠画线与制表:
F7 普通、画线表与线保护状态转换
普通状态下按F7键后, 即进入画线表状态。 此时, 可用副键(或者字母)区的以下键来完成手动画表线或自动制表:
①手动画线
8 ─── 向上画线
向左画线 ── 4 6 ── 向右画线
2 ─── 向下画线
或者:
i ─── 向上画线
向左画线 ── j l ── 向右画线
m ─── 向下画线
使用↑↓← → 键移动光标至需要画线处; 还可使用Ctrl-U和Ctrl-D键来快速移动光标;
用Enter键可改变画线的粗细。
②手动抹线
PF2(/) ─── 向上抹线
向左抹线 ── 7 9 ── 向右抹线
5 ─── 向下抹线
或者:
u ─── 向上抹线
向左抹线 ── h k ── 向右抹线
n ─── 向下抹线
使用↑↓← → 键移动光标至需要抹线处。还可使用Ctrl-U和Ctrl-D键来快速移动光标。
③自动制表
按 PF4键, 进入自动生成规则表格提问
首先从提示行键入各表栏所需的汉字宽度 (其所有宽度的总和不应超过定义的行宽),每次以Return键结束; 当不再需要表栏时, 可只键入Return键结束表栏宽度提问; 然后对每表行栏需要的行数以及表中所需要的总栏数提问。
回答完成后, WU即可在光标处自动生成一规则表格。
④表格的修改
对已画好的表格可用副键区的以下键进行修改:
Enter 或 LF ── 设置制表时选用线条的粗/细
允许随时在画线过程中改变设置, 以选择要画表线的粗细; 当前的设置显示为状态行上行块号间之联线
(空格) 或 . ── 改变表格中某条横线(或竖线)的粗细
当光标在横线制表符─(或━)上时为加粗 (或减细) 该条表格横线;
当光标在竖线制表符│(或┃)上时为加粗 (或减细) 该条表格竖线.
1 ── 光标所在表栏宽度增加一个汉字宽
3 ── 光标所在表栏宽度增加二个汉字宽, 若光标在表栏线上则可增加一个表栏
0 ── 光标所在表栏宽度减少一个汉字宽, 若光标在表栏线上则可合并二表栏
- ── 在光标行之下复制光标所在的一表线行
= 或 , ── 在光标行之下复制光标处的上二表线行
Erase Page 或 Ctrl-Y ── 删除光标所在的表线行(可恢复)
PF1 ── 定义光标所在行为需要恢复的表线行
Shift-Erase Page 或 Ctrl-Z ── 在光标处恢复最近一次用Erase Page键删除过或用PF1定义过的表线行
另外也可用画线与抹线键来修改表格。
⑤退出画线表状态
⑴按F7键可退出画线表状态而转入线保护状态。
在线保护状态下, 对表格进行填充或删减字符均不会破坏表线,所有删除操作对表格线均不起作用。
线保护状态的具体功能请参阅 <排版与状态> ㈡。
⑵按 Q键可退出画线表状态而转入普通状态。
普通状态是对表线不进行保护, 插入或替换均有可能造成表格线的被破坏; 允许对表格线进行删除操作。
线保护状态下按F7键, 可进入普通状态。
㈡表格中数据的计算:

Ctrl-] 表格数据计算
当光标在表格中按Ctrl-]键, 提示行将显示所能完成的表格计算方式, 通过数字键选择向上、向下、向左、向右求和或者算术求和计算。
①向上(向下)求和:
对表中同表列的数据向上(向下)做合计, 即将光标所在表栏以上(以下)至本表结束的所有表行中对应表栏的数据相加, 计算结果写于光标所在表栏。
②向左(向右)求和:
对表中同表行的数据向左(向右)做合计, 即将光标所在表栏以左(以右)至本表结束的所有表栏中的数据相加, 计算结果写于光标所在表栏。
③算术求和:
选择算术求和计算后, WU即进入计算状态, 此时可由用户使用下列键来自行定义参加求和运算的表栏以及求和时该表栏的运算符号(加或减); 在计算状态下, 部分键的功能有所改变, 对表格的编辑也只能输入数字及小数点或空格等。
PF1 - 定义光标所在表栏参加行求和计算, 并在运算时取加号; 重复定义即为撤消。
PF2 - 定义光标所在表栏参加行求和计算, 并在运算时取减号; 重复定义即为撤消。
PF3 - 定义光标所在表行参加列求和计算, 并在运算时取加号; 重复定义即为撤消。
PF4 - 定义光标所在表行参加列求和计算, 并在运算时取减号; 重复定义即为撤消。
H 或 h - 撤消所有参加行求和计算表栏的定义。
L 或 l - 撤消所有参加列求和计算表行的定义。
Ctrl-Y 或 Erase Page - 删除光标处的一个字符。
] 或 C 或 Return
计算行和, 在同表行中将已定义过的所有表栏中数据按其定义的运算符号进行合计, 计算结果写于光标所在表栏。
^ 或 A 或 LF
计算列和, 在同表列中将已定义过的所有表行中与光标对应表栏的数据按其定义的运算符号进行合计, 计算结果写于光标所在表栏。
Q 或 Ctrl-X - 退出算术求和计算状态。
以上求和操作可在普通或线保护状态下使用, 计算后的结果写入均不会破坏表格线; 当结果数据位数多于光标所在表栏的允许位数时, 自动截取前部填入。
七、菜单操作与控制字符处理
㈠、菜单操作:
Esc+Esc 或 Ctrl-@ 调出管理菜单或进行键值转换
①当处于普通或线保护状态时为呼出下拉式管理菜单。通过光标移动键(↑↓←→)来选择需要执行的操作项目, 每选择一个项目屏幕下方状态行均有该操作项的简单说明, 其〖〗中所示为能直接完成该项操作的功能键提示;当选择好操作项目以后可敲Return键开始执行该项操作。
②当处于画线表状态或在显示帮助信息时为进行键值转换。此时屏下方状态行将显示能够转换的键值表, 然后以键入一个数字键或字母键来转换成相应的功能键; 若敲空格键可选择另一张转换键值表。
㈡、菜单目录:
① 主 菜 单
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 文 件 光 标 字 符 行 块 字 块 排 版 打 印 状 态 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
② 一 级 菜 单
(文 件) (光 标) (字 符) (行 块) (字 块) (排 版) (打 印) (状 态)
存 盘退 出 移 至文 首 查找字符串 行 块定 义 字 块定 义 设 定行 宽 设 定参 数 选替换方式
缓冲区存盘 移 至文 尾 替换字符串 粘 贴复 制 插 入复 制 清 理屏 幕 打印全 文 普 通状态
存盘另编辑 移 至行 首 删除字符串 剪 切移 动 覆 盖复 制 汉 字排 版 打印光标前 画 线制 表
放弃另编辑 移 至行 尾 删光标以后 行 块删 除 剪 切移 动 行/栏居 中 打印光标后 ※表格计算
※文档操作 到 前空 行 删光标以前 存 为文 件 字 块删 除 行/栏居 左 打印行 块 设置输入Tab
显 示 Help 到 后空 行 删除光标行 读 入文 件 存 为文 件 行/栏居 右 打印字 块 设置输出Tab
改变文本名 屏 幕右 移 恢复已删行 读 入字 块 读 入文 件 取消软回车 印用户手册 设置 加 密
返 回Shell 屏 幕左 移 ※特殊删除 定 义词 组 读 入行 块 恢复软回车 显 示时 间 显 示时 间
不存盘退出 移 动光 标 找匹配括号 复 制词 组 显 示词 组 增加换行符 退 出菜 单 退 出菜 单
③ 二 级 菜 单
(文档操作) (特殊删除) (表格计算)
改变目录 换 行 符 向上求和
查阅目录 ^控制符 向下求和
创建目录 ~控制符 向左求和
改文件名 全部文字 向右求和
删除文件 退 出 算术求和
㈢、控制字符处理:
为了处理方便, 在显示和打印输出的文件中WU将所有控制字符均用两个可显示字符代替。具体定义如下:
①ASCII值在 0~31间的用^与@A-Z[\]./之一合并代替。即:
0 - ^@ 1 - ^A 2 - ^B
3 - ^C 4 - ^D 5 - ^E
6 - ^F 7 - ^G 8 - ^H
9 - ^I 10 - ^J 11 - ^K
12 - ^L 13 - ^M 14 - ^N
15 - ^O 16 - ^P 17 - ^Q
18 - ^R 19 - ^S 20 - ^T
21 - ^U 22 - ^V 23 - ^W
24 - ^X 25 - ^Y 26 - ^Z
27 - ^[ 28 - ^\ 29 - ^]
30 - ^. 31 - ^/
②ASCII值在127~160间的用~与<=>?@A-Z[\]中之一合并代替。即:
127 - ~< 128 - ~= 129 - ~>
130 - ~? 131 - ~@ 132 - ~A
133 - ~B 134 - ~C 135 - ~D
136 - ~E 137 - ~F 138 - ~G
139 - ~H 140 - ~I 141 - ~J
142 - ~K 143 - ~L 144 - ~M
145 - ~N 146 - ~O 147 - ~P
148 - ~Q 149 - ~R 150 - ~S
151 - ~T 152 - ~U 153 - ~V
154 - ~W 155 - ~X 156 - ~Y
157 - ~Z 158 - ~[ 159 - ~\
160 - ~]
当文中确需要出现字符^或~时只需将其重复一次(输入成^^或~~)即可。
由于这种处理方式, WU甚至可以用来编辑二进制或已编译程序中的有关提示信息(方法请参阅<使用技巧>㈤); WU还可以用来完整地打印输出含有控制字符的源程序。
八、打印参数设置与打印输出

F3 打印文件
按F3键后, 可选择对全部文字, 光标以前、以后文字或定义的行块、字块进行打印输出。
也可进行参数设置: ①每页参数设置可定义每页行数、是否打印页码及页码位置、开始页号和每页打印完成后是否等待等; ②可进行打印机遥控指令的设置,这对使用无仿真CT24的终端来说非常重要。打印参数设置好后, 在本次编辑中将始终有效直至下一次重新设置为止。
文中可以使用点命令来控制输出字体、分页以及字距、行距调整等。要求点命令必须占用一行, 且点号(.) 必须在每行的第一列, 每行点命令可同时
选用多个参数。
具体定义如下:
.A ---- 设置正常字体
.B ---- 设置倍宽字体
.C ---- 设置倍高字体
.D ---- 设置倍宽高字体
.Wn ---- 置字间距为2n点(n为0~6间的数)
.Ln ---- 置行间距为2n点(n为0~12间的数)
.Kn ---- 打印输出n个空行(n为十进制整数)
.J ---- 将下行与上行连接起来后再打印输出
.Mn ---- 取消(n=0)或选择(n=1~5)页码打印位置
.T ---- 设置/取消左旋90°旋转字体
.Pn ---- 换页并置页号为n(n为十进制整数)
本程序中缺省的打印机遥控指令为CT24版, 另设有华诚HC320 终端用遥控指令可选; 除此以外的终端应自行设置打印遥控指令。方法是在打印参数设置中选择遥控指令设置, 然后在状态行通过提问方式分别进行: 开打印机、关打印机、倍宽放大字体、倍高放大字体、倍宽倍高放大字体、调整字间距、调整行间距、设置旋转字体、取消旋转字体等指令的设置。设置时还可将其存盘作为今后每次打印时的缺省或备选遥控指令。
注:
①设置遥控指令时, Esc(ASCII值27)的输入可以省略也可用两个字符^[代替;
②设置中若无相应的遥控指令时, 可不输入而直接以回车(Return)键作为回答,即可对该指令不作设置;
③设置字间距及行间距遥控指令时, 其间的可变参数位置应用%代替;
④若设置开、关打印机遥控指令时两者都选用默认值, 则其他遥控指令自动选用CT24版。
九、排版处理与状态方式
㈠、排版处理:

F4 设置行宽
设定编辑与排版时需控制的每行允许字符个数; 最大行宽值为220个字符。
Ctrl-O 排版和整理屏幕
在WU中定义以回车键结束为一个逻辑行, 每行允许长度没有限制。因此一个逻辑行在显示或打印时可以是多个物理行。Ctrl-O排版的作用就是将每一个逻辑行按行宽的定义字符数排列成整齐的多个物理行, 并能对行首、行尾的半个汉字作适当调整, 以打印输出整齐的文本; 另一作用是清理屏幕重新显示所有信息。当无输出 Tab设置时, 此排版操作对存盘时文件的大小不会产生任何影响,因此对只需要存盘的文件编辑完成后可以不进行排版处理。
Ctrl-T 将本行内容根据定义行宽对中放置
Ctrl-/ 将本行内容根据定义行宽靠左放置
Ctrl-\ 将本行内容根据定义行宽靠右放置
㈡、状态功能:

①普 通
在此状态下插入方式是把输入的字符插入光标之处, 光标及以后字符全部后移, 当最后一个字符超过行宽时将移至下行; 替换方式是用输入的字符取代光标处之字符, 光标后移, 当光标已处在行尾且本行没有超过行宽时是将输入字符增加在行尾。
②画线表
本状态下插入方式和替换方式所具备的功能相同, 具体 <画线表与计算> 中有详述。
③线保护
在本状态下向表中填写数据时不会抹掉表线符, 插入、替换或删除字符均只是在每一表栏中进行调整, 制表线不会随着移动或被替换, 以保证表格形态的完整。
在本状态下当光标处于表格中时, 部分编辑键的功能定义有所改变:
<X] (Backspace) 删除光标左侧一字符或一汉字
若左侧是表栏线则光标左移一个表栏
F5 光标移到本表栏首
F6 光标移到本表栏末
Tab 在同表行中光标右移一个表栏
Shift-Tab Ctrl_<X] 在同表行中光标左移一个表栏(某些终端下可能无法使用)
Return 在同表列中光标下移一个表栏
LF 光标移到下一表行的第一栏
Ctrl-A 光标向前移到本表的第一表行
Ctrl-V 光标向后移到本表的最后一表行
Erase Eol 删除从光标(包括光标)到本表栏末尾的所有字符
Shift-Erase Eol 删除从光标(不包括光标)到本表栏开始的所有字符, 光标以后内容前移。
Ctrl-N 复制光标处之上( 下 )表栏的若干个字符到本行光标处; 其使用定义与普通状态一致。
Ctrl-T 将表栏中内容以表栏宽度对中放置
Ctrl-/ 将表栏中内容以表栏宽度靠左放置
Ctrl-\ 将表栏中内容以表栏宽度靠右放置
当光标在表格内时行删除 (Erase Page) 键、行恢复 (Shift-Erase Page) 键以及文字块的复制、移动、删除和读文件操作, 均要受到限制, 以不破坏表格形态为准。
㈢、转换状态:
Insert(Ins、C1)
F11 插入/替换 方式转换
F7 普通/画线表/线保护 状态转换
Ctrl-Q 多项状态方式转换
按Ctrl-Q后, 在状态行将提示能改变的各项状态方式内容; 通过选择可进行输入 Tab的设置/取消、输出 Tab的设置/取消、普通/线保护状态转换、插入/替换方式转换以及改文件名等功能。
设置输入Tab : WU在读入文件时, 将对其中的制表符(09)用相应数量的空格取代;
取消输入Tab : WU在读入文件时, 将不对制表符进行处理, 相当于进入WU时选用参数-b。
设置输出Tab : WU在写文件时, 将对每个 Tab位置处 2个以上的空格转换为制表符(09)后存盘;
取消输出Tab : WU在写文件时, 不对空格进行转换。
改文件名 : 对正在编辑的文件进行改名操作。
十、使用技巧
㈠注意事项:
①WU可用于SCO UNIX 3.X或AT&T UNIX SVR3及以上版本的UNIX操作系统, 要求能仿真VT100的通用汉字终端。如:Star500、Star800; 长城GW410、GW220;CT-24、CLC-2400K; 华诚HC320 等。
注: WU的打印输出是以CT24终端的遥控指令来实现, 在其他无CT24仿真类型的终端上可能是无法使用或会出现异常情况, 此时应在打印机参数设置中作调整, 详情请参阅 <打印及参数> 。
②WU对汉字的处理是以国标(两字节)码为标准, 因此在使用中应将终端对汉字的处理设置成国标两码字。若需要编辑其他汉字码的文件时, 可以先用国标码编辑, 待编辑完成以后再用辅助程序wuch转换为相应的汉字码即可 (请参阅< 辅助程序简介 >㈠ )。
③WU使用格式:
wu [-?]/[-help]
wu [-[b][w[xxx]][c[password]]] [filename]
可选参数说明如下:
-?/help 选此参数为只进行显示帮助信息。相当于进入WU后直接按F8功能。
-b 选此参数为取消输入、输出 Tab设置。即WU在读入文件时对制表符(ASCII值为 09)不予处理, 均用^I代替, 以免改变原文件长度; 而在写文件时也不对任何 Tab位置上的空格作代换处理。这一方式通常用于编辑二进制或已编译程序或文本格式不能随意更改的特殊文件。
不选此参数则WU自动设置输入、输出 Tab。即在读入文件时将用相应数量的空格取代所有的制表符; 而在写文件时对每个 Tab位置处的 2个以上空格用制表符(09)替代后再存盘, 以压缩文件长度。这一方式通常用于编辑文书文件。
输入、输出Tab 的设置与否, 还能在编辑状态中使用 Ctrl-Q 重新定义,可参阅 <排版与状态>㈢。
-p 选此参数时wu将自动设定线保护状态。
-r 选此参数时wu将进入替换方式。
-w[xxx] 选此参数为设置行宽; xxx为十进制数。有此参数进入编辑后WU将用数值xxx代替缺省的80列行宽值; xxx的有效值范围为10 ~ 220。
-c[password] 选此参数时应同时有参数filename, 它是针对当filename是加密文件时, 为其提供解密密码password。
filename 此参数为可含带有路径的编辑文件名, 缺省时WU将列出当前目录下已有的文件名, 然后提示输入需要编辑的文件名。
④WU设定编辑文件最大长度不超过 640k 字节, 物理行在3000行以内。如果用户需要编辑超过以上限制的文件时, 可将其分解为两个较小文件分别编辑。(由于硬件的进步,目前已经将3.02版本的可编辑文件长度调整为约35MB,物理行数在165536行。)
⑤建议您在编辑过程中及时用Ctrl_W存盘后再继续编辑,否则意外的中断会造成您已编辑数据的丢失。
㈡如何在配置PC101键盘的终端上使用WU
PC101键盘上没有PF1~PF4等键, 功能键F1~F12的定义也与DEC105键盘不同(F1~F4键即相当于PF1~PF4键);对用这类键盘的终端, 可以使用具有相同功能的Ctrl-(字母键)来完成; 也可连续按两次Esc键或Ctrl-@呼出管理菜单或是进入转换键值状态, 再根据提示选择相应需要的键或操作项目(请参阅<菜单及控制符>㈠); 另也可用依秩敲入多个键来模拟这些特殊键所产生的键值序列, 以达到使用其功能的目的。
具体键值定义如下:
PF1 ── Esc → O → P
PF2 ── Esc → O → Q
PF3 ── Esc → O → R
PF4 ── Esc → O → S
Erase Page ── Esc → [ → J
Shift-Erase Page ── Esc → [ → 2 →J
Erase Eol ── Esc → [ → K
Shift-Erase Eol ── Esc → [ → 2 → K
F1 ── Esc → O → q
F2 ── Esc → O → r
F3 ── Esc → O → s
F4 ── Esc → O → t
F5 ── Esc → O → u
F6 ── Esc → O → v
F7 ── Esc → O → w
F8 ── Esc → O → x
F9 ── Esc → O → y
F10 ── Esc → O → p
F11 ── Esc → O → m
㈢如何在两个文件中传递文字
⑴文字块的传递
首先进入WU编辑要送出文字的文件, 利用F9键(Ctrl-P)将要送出的文字段(块)定义成行(字)块。然后按F2键选择另编 (或退出WU后再用WU编辑) 接收文字的文件, 进入编辑后将光标移到需要插入文字之位置, 按 F10键(Ctrl-G)选复制行(字)块操作即可将上一文件中定义的文字块插入于当前光标位置处 (注意: 在复制完成之前不可用F9键或Ctrl-P定义新的文字块)。
⑵单行文字或词组的传递
①利用Erase Page键和Shift-Erase Page键所具有的特点可对单行文字进行传递;
②利用词组定义与复制功能可对单行文字或任意词组进行传递。具体方法为: 首先编辑要送文字的文件, 用Erase Page键删除要传文字行或用Ctrl-K将其定义成为词组; 再用F2键退出另编要接收文字的文件, 进入编辑后移光标至要插入之位置, 用Shift-Erase Page键恢复删除行或Ctrl-C复制同一词组即可 (注意以上恢复或复制过程完成之前不可退出WU或用Erase Page键再作删除行操作或用Ctrl-K重新再定义同一词组)。
㈣如何编辑打印输出行宽超过80列的文件
首先用F4键将行宽设置为需要的值, 然后进行编辑; 当编辑的行超过80列宽时, WU能自动将屏幕右移70列继续编辑, 编辑完成即可用F3键打印输出。另也可先将行宽定义为80列, 编辑完成以后重新定义行宽为相应值, 再用Ctrl-O作一次排版即可得到需要的打印输出宽度。
㈤利用WU修改二进制或已编译程序中的提示信息
首先将要修改的文件由WU -b 调入或在WU中用Ctrl-Q取消输入、输出 Tab设置后再用F2键读入, 编辑时用 F11键将工作方式转换为替换方式; 然后通过快速移动光标、翻屏键或 PF4查找提示信息, 找到提示后对其进行修改或用相应的提示替换。
注意:
①切不可修改控制字符、乱显字符(汉字块)或孤立汉字, 因为它们可能是指令代码,改变后会引起程序无法正常执行;
②不能改变原文件的长度, 否则修改后的程序将不能执行。
③更推荐使用辅助程序wudeb来完成此项工作。
十一、辅助程序简介
㈠汉字码转换程序wuch
该程序完成将汉字在国标码、四字节码 (|引导符)、三字节码(可选引导符)和四通码之间的互相转换, 可以直接读取DOS文件转换并存为UNIX文件或将UNIX文件转换后再存为DOS文件, 以及DOS文件与UNIX文件间的互相拷贝功能。
程序可以直接带参数运行或以菜单形式运行。

⒈使用格式:
wuch [-?][-help]
wuch [-[n][[x] filename1 [filename2]]]
-?/help 只进行wuch的使用格式信息显示。
n 选此参数程序在对四码字或三码字作转换处理时将不进行压缩。即转换成国标两码字或四通码字的同时, 将对每字分别用空格补齐四码或三码。
[x] filename1 [filename2]
x 为功能标识; 有效值是1~8; 相当于程序以菜单方式运行时选择对应功能, 其缺省值为功能 3。
filename1 为源文件名; 无该参数时程序以菜单方式运行。
filename2 为目标文件名; 无该参数时将在/tmp下建立同名文件。
⒉注意事项:
①本程序只可用于文本文件或源程序文件中汉字码的转换, 对于二进制或已编译 程序不可随意使用。因wuch会误将某些指令代码作为汉字码处理而进行转换, 如此转换后可能会造成原程序不能运行或是非正常运行。
②源文件和目标文件都允许选用DOS文件, 但同时最多只能有一个选为DOS文件。
③DOS文件名前必须冠以驱动器标识符或选用相应的设备名;其间用冒号(:)分隔。
A 代表 /dev/fd0
B 代表 /dev/fd1
C 代表 /dev/dsk 硬盘上的DOS分区
如: A:filename 或 /dev/fd0:filename均表示设备/dev/fd0上的DOS文件FILENAME
注:DOS文件名不区分大小写字母, 一律视为大写。
当你的系统使用驱动器标识无效时, 可检查目录/etc/default下文件msdos,在其中增加以下内容即可:
A=/dev/fd0
B=/dev/fd1
C=/dev/dsk
④UNIX文件名可以输入相对路径或绝对路径, 但文件名中不能含冒号(:)。
⑤当选择进行文件拷贝时, 可以只输入源文件名(使用驱动器标识或路径名均可)而不输入目标文件名直接按回车键, 此时可完成列出指定驱动器或磁盘相应路径下目录的操作;
当源文件名与目标文件名均有输入时, 则进行文件拷贝操作, 但此时只能是从DOS文件拷到UNIX文件或是从UNIX文件拷到DOS文件。DOS文件自身之间或UNIX文件自身之间的拷贝应在其他环境(如DOS或Shell)下来完成。
㈡文件调试程序wudeb
该程序的功能是模仿DOS系统中的程序调试工具debug而编制, 由于本人水平限制, 对原debug中的汇编A、反汇编U、跟踪T、P 、运行G、输出O及寄存器R等命令暂未能实现, 因此只能称为文件调试。其命令定义与使用及显示方式都基本与原debug类似, 命令提示符仍为 -。区别一是本程序中的所谓偏移地址均为相对于文件首的偏移量, 已无段地址与偏移地址之分; 区别二是某些命令参数的使用方法及显示方式有所改变, 另新增加了插入命令I。
为了便于本程序在非汉字终端上的使用(如主控等)该程序提示信息使用英文完成, 但在显示处理数据上本程序已对汉字处理作了充分考虑, 使其能在汉字终端上正确显示完整的汉字。
该程序由UNIX系统的特点决定可以用来阅读目录项(但不能写入)。它可以从ASCII码值上对目录中的文件名进行分析, 以此对付从文件名上加密的方式颇为有效, 不妨一试; 另外它还可以查看到目录中已被删除的文件名。Linux系统中已经不可以打开目录文件!但本程序更适合用于修改已编译程序的提示信息。

⒈使用格式:
wudeb [-?]/[-help]
wudeb [filename]
-?/help 只进行wudeb相关帮助信息显示。
filename 为将由 wudeb调入内存的文件名, 缺省时不调入文件, 内存中全为 0值。
注意: wudeb调入文件的最大长度为6400K字节。
⒉内部命令简介:
⑴比较命令:C
c xxx1 [l] xxx2 xxx3
⑵显示命令:D
d [xxx1 [l xxx2 | xxx2]]
⑶修改命令:E
e [[xxx1] ['string']]
e [xxx1 [hex [hex ...]]]
⑷填充命令:F
f xxx1 [l] xxx2 hex [hex [hex ...]]
⑸计算命令:H
h xxx1 xxx2
⑹插入命令:I
i [xxx1] ['string']
i xxx1 [hex [hex ...]]
⑺装载命令:L
l [xxx1] ['filename']
⑻移动命令:M
m xxx1 [l] xxx2 xxx3
⑼命名命令:N
n ['filename'] [size]
⑽退出命令:Q
q [w ['filename'] [size [xxx1]]]
⑾搜索命令:S
s [xxx1 [[l] xxx2]] 'string'
s xxx1 [l] xxx2 hex [hex [hex ...]]
⑿写盘命令:W
w [xxx1] ['filename'] [size]
w [xxx1 xxx2] ['filename']
⒀帮助命令:?
? [cdefhilmnqsw?]
其中:
① XXX1、XXX2、XXX3 均为16进制数; 一般用于表示偏移地址, 若其前加有选项 l, 则表示为长度值;
② hex 为小于2字节的16进制数; 用于表示一个字符的ASCII值;
③ 'string' 为用'括起来的字符串;
④ 'filename' 为用'括起来的文件名(可包含路径);
⑤ size 为用16进制数表示的文件长度;
⑥ [] 括起的部分为可选参数。
Word for UNIX程序下载:
其中新推出的Red hat 32位和64位Linux版本是最新编译版,已更改目前发现的BUG,欢迎喜欢折腾Linux的小伙伴拍砖试用。由于不能找到过去的编译环境,其余版本均为当年编译,其中就包含有已发现BUG存在,请批判试用。
程序包链接: https://pan.baidu.com/s/1hYXMhO6lqJH9NASmhkEVbw?pwd=7tdt 提取码: 7tdt 复制这段内容后打开百度网盘手机App,操作更方便哦!
常见问题回答:
Q1:运行wu时提示"LANG=zh_CN.UTF-8 set may incorrect, WU require LANG=Zh_CN.GB...!!"是何原因?
A1:wu程序中使用国标字符集GB2312(兼容GBK、GB18030)汉字编码。当检测到环境变量LANG不是国标字符集时wu会提示该信息。这仅是提示信息,停留3秒后将继续运行。
可能的影响是在Linux主控桌面的终端上运行wu时会出现汉字信息显示是乱码的情况,而对于使用远程仿真终端登录运行的用户可不受影响,只要仿真终端设置支持国标码(GB2312)即可。
Q2:wu不支持国际通用字符集UTF-8?
A2:当年汉字编码战国纷飞,有四码字、三码字、四通码和国标区位码(二码字)等等,最终还是由国标码(GB2312)一统江山,后来在此基础上扩展出来GBK和GB18030。辅助程序wuch就是专为在这些码间进行转换而生。至今还没有搞懂UTF-8的编码方式,所以wu暂不支持该字符集。
最新说明:UTF-8的汉字是占三码,但屏幕显示上通常一个汉字是占二个ASCII字符的宽度,由此对编辑软件的处理来说会造成屏幕显示位置和记录位置不相等的困惑!基于此wu要支持UTF-8字符集是需要进行特殊改造的。但UTF-8有一个好处是有明确的规则来判别汉字三码中的首码,这样就可以有效避免编辑半个汉字问题(这在目前的wu编辑软件中是一个还没有解决的顽疾)。先期准备改造wuch增加对UTF-8的转换功能。
Q3:运行wu时提示“Word for UNIX 要求终端仿真vt100 !!! 是否继续(Y/N)? N”
A3:wu支持的终端指令为VT100。当检测到环境变量TREM不是vt100或XTERM等时会提示该信息。如果回答N,wu即退出运行返回shell。回答Y则提示“注意:使用中某些编辑操作可能无法正确显示,请用Ctrl-O整理屏幕!!“,然后继续运行。主要原因是在不支持vt100指令的终端上运行时,可能会出现指令解释不正确而导致显示不正常的情况,用Ctrl-O可以校正显示。
Q4:如何设置仿真终端的字符集?
A4:仿真终端设置中有设置字符编码选项,设置为:GB2312、GBK、GB18030均能正常显示汉字。如果终端设置中没有此3种选项,也可选为使用前端编码“Use font encoding”一试。
Q5:wu运行时,表格线和菜单框横线不正常,如何解决?
A5:这是由于仿真终端对汉字制表符横线宽度显示的不同造成。解决办法是进入仿真终端设置,其中有兼容性选项,将“宽度有歧义的字符显示”选择为:宽。
Q6:如何设置NetTerm。
A6:NetTerm是比较早的终端仿真软件,其设置比较简单,功能也较单一。它仅支持telnet不支持ssh,所以其端口应选为23。模拟型态选VT00,连接型态设为TCPIP即可。NetTerm没有字符集可选项,它使用前端系统的字符集。
Q7:有强大的vi为什么还有wu?
A7:vi是UNIX中的强大编辑工具。其复杂的命令功能非常适合技术控人员使用,但对于中国人来说它有些不符合习惯,特别是对于当年汉字输入都还有障碍的业务操作柜面人员。所以才有了wu的出现。
Q8:wu能在SSH上正常运行吗?
A8:wu是基于telnet而生,在SSH上也能正常运行。只要关注终端的字符集,能支持GB2312即可。
Q9:程序的64位版本和32位版本有何区别?
A9:目前两个Linux版本是在对应的64位/32位RedHat Linux操作系统上编译完成的。严格说要根据操作系统的64位/32位来选择安装版本,通常64位版本的程序不能在32位操作系统上运行。但反过来却可以,即32位版本可以在64位或32位操作系统上正常安装和运行。
虽然程序是在RedHat Linux操作系统上编译完成,由于使用的是静态链接库编译,所以在CentOS GUN和Ubuntu Linux操作系统上仍可以正常运行。更多的其他Linux版本没有亲自实际验证,但推测是可行的!
Q10:为什么wu要考虑文件的加密存储?
A10:当年操作人员都使用同一个UNIX用户登录,所以各自编辑的文件大家都能相互看到。为了保持相互之间的一些私密性就设计了加密存盘功能。这样文件名虽在目录中大家都能看到,但没有正确的密码打开也是不能知晓文件中内容的。
Q11:wu使用的加密存储方式可靠吗?
A11:当年考虑的是防君子不防小人,所采取的加密方式非常简单。这种方式的好处是对密文再次进行加密就等于是解密,即解密和加密的处理流程完全一模一样!欢迎大家来破这个加密方法!
Q12:wu使用中偶尔有部分功能键F1~F12和原设定的功能对不上?
A12:可能存在这种情况。主要问题是不同系统和应用程序会定义不同的功能键序列(由Esc开头加一串数字或字母组成的多个字符序列),比如:同是windows系统中的应用程序,NetTerm和PuTTy定义的功能键序列就不一样。本人尽力测试过能接触到的操作系统、仿真终端软件和实体PS/2键盘、USB键盘、笔记本键盘等组合下的功能键序列。有些情况下相同的功能键序列对应了不同的功能键,这让人很难照顾周全,只能满足支持其中一种情况就作罢。
特别明确的:物理终端键盘上的F1~F4功能键就不是对应PC电脑键盘上的F1~F4,物理终端上的PF1~PF4键才对应到PC键盘上的F1~F4。所以wu中的PF1~PF4功能是由PC电脑上的F1~F4来实现。wu帮助文档中说PC101键盘没有PF1~PF4等键是错误的,应该是没有物理终端上的F1~F4键功能。
BG1QPO 2024年4月1日
更多文章:
“千年虫”引发的故事
八重洲FT-817便携电台修理记
华硕P8B75-M LX PLUS主板折腾记
SUNPAK auto30SR闪光灯修理记
电台用13.8V直流电源合并供电电路
建伍TM-421A车台功放模块更换
摩托罗拉T5628的修理
ICOM IC-R7000收信机存储电池更换记
- “千年虫”引发的故事 - 07/16/26
- 八重洲FT-817便携电台修理记 - 07/14/26
- 华硕P8B75-M LX PLUS主板折腾记 - 06/14/26
