前言:十几年前刚开始接触UNIX系统,那时的PC机还不普及。各单位多在使用的是铅字钉的中文打字机,如果能用起四通2401打字机的公司就是相当不错的单位了。当时的中国人民保险公司计算机系统刚刚起步建立,基层还只能是业务处理系统才能用的起计算机。业务使用的设备通常是好利获得(Olivetti)M380/XP9或宏基(Acer)Altos1700的386机器,略先进一点的就用Unisys 较新的486机器U6000/15。机器操作系统安装SCO 3.0或AT&T的UNIX SVR4等多用户操作系统。时值市中区保险支公司就新购一台U6000/15机用于业务处理,前端都使用字符终端登录U15机进行机动车保险业务处理。除了专业计算机人员外,其它部门人员都只能接触到字符终端。当时的字符终端都是哑设备,不带汉字编辑功能。为了方便职工学习打字和进行简单的文字编辑,本人在完成业务系统推广外,使用C语言编制了一套适合UNIX多用户系统下在终端上进行字处理的软件。取名Word for UNIX,简称WU。此软件曾在省分公司进行推广,为柜台操作和各类人员使用计算机处理汉字、打印文档提供了方便。甚至有部份地市公司财务人员还喜欢上这个软件,因为利用其简单的制表功能可以解决当时仍在进行手工计算的发放工资等简单化表格处理问题。如今找出当时编制的用户手册只能算是一个回忆。下面的截图均是在现在的IBM P590上安装后登录截取的,早先都只是纯文本。截图中出现的乱字是由于菜单覆盖了半个汉字造成的,以前的字符终端能很好的处理这种情况。记忆中以长城终端为佳。
㈠、 简 介
WU(Word for UNIX)是针对UNIX系统的特点而开发的集成软件。她将汉字处理、画线制表与数据加工融为一体, 吸收了 DOS系统中汉字编辑软件的许多优点, 尤其适合熟悉 DOS的人员使用。
其字处理功能与DOS中的WPS相似, 支持菜单管理, 可对文字块(包括行块和字块)进行复制、移动、删除; 可对字符串进行全文查找、替换、删除等操作。
其制表功能与 DOS中的CCED相似, 可进行手动画表或自动生成规则表格, 能对表进行列宽或行宽调整, 任意增加或减少行数与列数; 当向表内填充数据时, 线保护状态可使表线不受破坏; 还能对表格中的数值按行或列进行求和计算。
其打印功能是利用终端或打印机内的字库进行, 能方便地选择全文、部分文段或文字块进行终端打印输出; 可用点命令选择字体倍宽、倍高或宽高同时放大, 还能对字距、行距进行调整。
在显示和打印输出时, WU用两个可显示字符来表示ASCII值在0~31和127~160之间的控制字符, 但在存文件时仍使用原值。因此处理方式WU可用于编辑可执行程序及目标程序中的提示信息。
WU还能对文件进行加密处理以增加文件的保密性。
㈡、WU程序安装说明
以超级用户登录, 在目录/tmp下用tar命令将软盘上的程序拷入,然后根据自己使用的机器系统执行下列安装命令:
①使用AT&T UNIX SVR4及以上版本系统的机器(如: UNiSYS U6000/15/35、LEO486/66等)执行命令:
./instU -npicc
②使用AT&T UNIX SVR3及SCO UNIX 3.2.2版本系统的机器(如: UNiSYS U6000/30、Olivetti M380/XP9、Altos1700等)执行命令:
./instO -npicc
③使用AIX UNIX Version 4版本系统的机器(如: IBM RS6000 等)
执行命令:
./instA -npicc
④使用HP_UX UNIX Version 10.02版本系统的机器(如: HP小型机 d270 等)
执行命令:
./instH -npicc
⑤使用SCO UNIX OpenServer R5.0.5版本系统的机器执行命令:
./instS -npicc
⑥或执行下列安装命令通过屏幕选择相应的安装程序:
sh install
程序安装完成以后即可在任意目录下使用WU, 命令格式为:
wu [文件名]
在编辑过程中可随时使用F8键获得在线帮助信息; Esc+Esc或Ctrl-@进入管理菜单。
㈢、说明
①.文件说明:
install SHELL安装程序
instO SCO UNIX 及 AT&T UNIX SVR3系统用装程序
instU AT&T UNIX SVR4系统用安装程序
instS SCO OpenServer UNIX R5.0.5系统用装程序
instA IBM AIX UNIX 系统用安装程序
instH HP_UX UNIX V10.2系统用安装程序
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的帮助信息, 在WU的编辑状态下可用F8键随时阅读,在阅读的同时还可用F4或PF1 及 PF4打印输出; 也可在管理菜单中选<印用户手册>来打印输出较完整的手册。
③.在使用过程中遇到的问题或有建议, 请与作者联系您将获得及时的技术支持和服务。
地址: 市中区嘉定北路 78621
电话2443287 2447980
一九九六年八月十八日
㈣、HELP 显示信息
一、存盘、退出与文件加密
F1 将已编辑文本存盘, 然后退出WU
F2 将已编辑文本存盘, 然后重新编辑另一文本或暂停编辑返回执行Shell(用exit或Ctrl-D命令可再回到原编辑状态)
Ctrl_W 已编辑文本存盘后继续编辑该文本
Ctrl-X 放弃已编辑文本, 不存盘退出WU
Ctrl_E 加密/解密 转换开关
当加密开关打开时, 在屏幕下方状态行的左端将有一星号(*)显示;否则显示为一空格。
F11 插入/替换 方式转换
F7 普通/画线表/线保护 状态转换
加密存盘操作
当加密开关为打开时, 对F1或F2的存文件操作WU将先提示输入加密密码;经核对密码正确以后, 再按特定算法 对文件中的信息进行加密处理, 然后以特定格式存盘。加 密后的磁盘文件若利用其他一般编辑工具是无法得到正确原文的( 显示均为不可读或混乱字符 ),只有利用WU并输入正确的密码后方能得到正确原文件。
对文件进行编辑时, WU自动识别文件是否加密, 对加密文件WU提示输入加密密码, 然后读入文件。如果密码不正确, 将得不到正确的原文和改写原文件的权利。
F8 阅读帮助信息
用↑↓或数字 0~9及A B 键来选择阅读项目;
用 ← →键来翻阅每个项目中的各页;
用 PF4键可打印输出当前项的帮助内容;
用 PF1或F4键可打印输出全部帮助内容;
用Ctrl-P可打印输出疑问表格。
二、光标移动
← 光标左移一个字符, 行首时移到上行末
→ 光标右移一个字符, 行未时移到下行首
↑ 光标上移一行
↓ 光标下移一行
C1 屏幕上移10行
Ctrl-U 光标上移10行
C3 屏幕下移10行
Ctrl-D 光标下移10行
C2
Ctrl-B 屏幕向前翻一页
C4
Ctrl-F 屏幕向后翻一页
F5 光标移至行首
F6 光标移至行末
Home 光标移至屏幕左上角
Shift-Home 光标移至屏幕下方最后一行
Ctrl-V 光标向后移动到下一文段后的第一个空行或第一个点命令行
Ctrl-A 光标向前移动到上一文段前的第一个空行或第一个点命令行
Ctrl-R 当屏幕右端有内容时, 屏幕显示可向右移动一次; 每次向右移动70列
Ctrl-L 当屏幕左端有内容时, 屏幕显示可向左移动一次; 每次向左移动70列
PF2 显示编辑文件总行数、安节数以及光标所在行的行号;
此时可输入无符号数将光标移到指定的行,
若数前有'+'号, 则光标向后移动指定的行数,
若数前有'-'号, 则光标向前移动指定的行数,
若输入 0表示转到文件最后一行。
三、删除与复制
<X] (即Backspace)
Ctrl-H 删除光标左侧一字符 (或一个汉字), 行首时使用可将本行连到上行末尾。
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 ─── 向下画线
使用↑↓← → 键移动光标至需要画线处;
还可使用Ctrl-U(或C1)和Ctrl-D(或C3)键来快速移动光标;用Enter键可改变画线的粗细。
②手动抹线
PF2 ─── 向上抹线
向左抹线 ── 7 9 ── 向右抹线
5 ─── 向下抹线
使用↑↓← → 键移动光标至需要抹线处。
还可使用Ctrl-U(或C1)和Ctrl-D(或C3)键来快速移动光标。
③自动制表
按 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 ---- 置字间距为2*n点(n为0~6间的数)
.Ln ---- 置行间距为2*n点(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 在同表行中光标右移一个表栏
Ctrl_<X] 表行中光标左移一个表栏(某些终端不能使用)
Return 在同表列中光标下移一个表栏
LF 光标移到下一表行的第一栏
Ctrl-A 光标向前移到本表的第一表行
Ctrl-V 光标向后移到本表的最后一表行
Erase Eol 删除从光标(包括光标)到本表栏末尾的所有字符
Shift-Erase Eol 删除从光标(不包括光标)到本表栏开始的所有字符, 光标以后内容前移。
Ctrl-N 复制光标处之上( 下 )表栏的若干个字符到本行光标处; 其使用定义与普通状态一致。
Ctrl-T 将表栏中内容以表栏宽对中放置
Ctrl-/ 将表栏中内容以表栏宽度靠左放置
Ctrl-\ 将表栏中内容以表栏宽度靠右放置
当光标在表格内时行删除 (Erase Page) 键、行恢复 (Shift-Erase Page) 键以及文字块的复制、移动、删除和读文件操作, 均要受到限制, 以不破坏表格形态为准。
㈢、转换状态:
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 [-[b][w[xxx]][c[password]]] [filename]
可选参数说明如下:
-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行以内。
如果用户需要编辑超过以上限制的文件时, 可将其分解为两个较小文件分别编辑。
⑤建议您在编辑过程中及时用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 查找提示信息, 找到提示后对其进行修改或用相应的提示替换。注意:
①切不可修改控制字符、乱显字符(汉字块)或孤立汉字, 因为它们可能是指令代码, 改变后会引起程序无法正常执行;
②不能改变原文件的长度, 否则修改后的程序将不能执行。
十一、辅助程序简介
㈠汉字码转换程序wuch
该程序完成将汉字在国标码、四字节码 (|引导符)、三字节码(可选引导符)和四通码之间的互相转换, 可以直接读取 DOS文件转换并存为UNIX文件或将UNIX文件转换后再存为 DOS文件, 以及 DOS文件与UNIX文件间的互相拷贝功能。
程序可以直接带参数运行或以菜单形式运行。
⒈使用格式:
wuch [-[n][[x] filename1 [filename2]]]
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码值上对目录中的文件名进行分析, 以此对付从文件名上加密的方式颇为有效,不妨一试; 另外它还可以查看到目录中已被删除的文件名。
⒈使用格式:
wudeb [filename]
filename 为将由wudeb调入内存的文件名, 缺省时不调入文件,内存中全为0值。
注意: wudeb调入文件的最大长度为640k字节。
⒉命令简介:
⑴比较命令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进制数表示的文件长度;
⑥ [] 括起的部分为可选参数。
联系客服