发信人: zhms() 
整理人: yard(1999-11-29 16:02:56), 站内信件
 | 
 
 
unix使用经验交流
 鉴于当前unix方面的书籍很多仅是翻译甚或抄袭,质量不高,而价格不菲,
 现根据使用经验,写出以下内容以供交流。欢迎大家任意转载使用。如果
 大家能有什么收获,我就很高兴了。如果有什么错误之处,或需要讨论的
 问题,欢迎大家来信。Mail:[email protected] 。
 本人用过SGI IRIX,SUN OS,HP-UX及SCO UNIX,认为各种版本UNIX的
 工具基本上还是一致的,以下以SCO UNIX作为对象(因为现手边只有SCO 
 UNIX)。
 
 unix使用经验交流—vi(1)
 
 对软件开发来说,工具并非关键的问题,但工具的使用对提高效率的作用
 是无可置疑的。
 1. vi的常用设置:(编辑${HOME}目录下文件.exrc)
 set ai		设置自动缩进
 set sw=4	设置移动宽度
 set ts=4		设置制表位置
 2. vi的光标移动
 h j k l		右下上左移动一个位置
 w b e W B E	按单词移动
 ( ) { }		按句、段移动
 $ ^  0		行首、行尾
 H M L		顶、中间、末尾
 G |		给定行、列
 Ctrl-U/F/D/B	滚动(半)屏
 3. 文本的修改和删除
 cw,c[n]w	字修改
 c0,c$,cc,[n]cc	行修改
 c{,c}		段修改
 dw,d[n]w	字剪切
 d0,d$,[n]dd	行剪切
 d{,d}		段剪切
 4. 移位
 >>, [n]>>	一行和n行移位
 5. 查找和替换
 f[x],F[x],t[x],T[x],,,;	在行上查找字符
 /[string],?[string]	全文查找字符串
 r,R,s,S		替换字符,行
 :[LineNum],[LineNums]/[old string]/[new string]/g
 :[LineNum],[LineNums]?[old string]?[new string]?g
 6. 移动和拷贝
 :[LineNum,LineNum]m[LineNum]	移动
 :[LineNum,LineNum]t[LineNum]		拷贝
 yw, y[n]w				字拷贝
 y(, y[n]c				句拷贝
 yy,y[n]y					行拷贝
 y{,y}					段拷贝
 p,P					粘贴
 7. 文件间拷贝
 “[x](,”[x]),”[x]y{,”[x]y}		拷贝
 “[x]p,”[x]P				粘贴
 8. 其他
 ^v		输入控制字符
 :r ![command]	读入
 :w ![command]	写出
 :[LineNum,LineNum] ![command]	过滤
 
 	总结:其实unix中的重要概念中有两个,正则表达式和管道组合
 对命令使用相当重要。关于正则表达式以后另讲。运用之妙,存乎一心。请
 大家多读手册页,本人就已多次通读vi的man了。
 	举例:对man重定向输出的处理
 	man ls >man_ls
 	vi man_ls
 	:%s/.^v^h//g
 	:x
 	可获得能阅读的文本。
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.39.93]
  | 
 
 
 |