| 導購 | 订阅 | 在线投稿
分享
 
 
 

unix使用經驗交流—vi(轉)

來源:互聯網網民  2006-12-17 09:48:07  評論

unix使用經驗交流—vi(轉)

unix使用經驗交流—vi(轉) unix使用經驗交流

鑒于當前unix方面的書籍很多僅是翻譯甚或抄襲,質量不高,而價格不菲,現根據使用經驗,寫出以下內容以供交流。歡迎大家任意轉載使用。如果大家能有什麽收獲,我就很高興了。如果有什麽錯誤之處,或需要討論的問題,歡迎大家來信。Mail:zhms@netease.com 。本人用過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

可獲得能閱讀的文本。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
unix使用經驗交流—vi(轉) unix使用經驗交流—vi(轉) unix使用經驗交流 鑒于當前unix方面的書籍很多僅是翻譯甚或抄襲,質量不高,而價格不菲,現根據使用經驗,寫出以下內容以供交流。歡迎大家任意轉載使用。如果大家能有什麽收獲,我就很高興了。如果有什麽錯誤之處,或需要討論的問題,歡迎大家來信。Mail:zhms@netease.com 。本人用過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 可獲得能閱讀的文本。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有