發(fā)信人: noclouds (景天云飛), 信區(qū): VIM
標 題: vi 編輯器的高級使用技巧 (zz) 發(fā)信站: BBS 水木清華站 (Sat May 22 17:14:22 2004), 站內(nèi) vi是unix操作系統(tǒng)提供的一個全屏幕文本編輯器,是程序員編輯源代碼的一個重要工具。熟練掌握vi命令及其使用技巧往往能起到事半功倍的作用,大大提高編程工作的效率。在應掌握如i,a,o,0,m,x,u,dd,yy,dw,cw,s,.,/,Ctrl-F,Ctrl-B,Ctrl-G,w,q等基本命令外,下面筆者介紹一些實際工作中所常用的命令技巧。
1.將多個文件調(diào)入緩沖使用命令:vi flname1 flname2… flnameN編輯下一文件用:n;回到首文件:rew;查看當前編輯緩沖文件狀態(tài):args。 2.修改包含某一字符串的文件可與grep命令結(jié)合使用,如欲編輯當前目錄下含有abc字串的所有C源程序:vi`grep -1 abc *.c` 3.編輯在緩存中的兩個文件快速切換命令: :e# 或 Ctrl-^ 使用Ctrl-^ 命令更便捷,但如終端類型不正確該功能將無效。 4.將一個文件的部分內(nèi)容讀入另一文件中,有以下兩種操作方式: (1)將欲讀入的內(nèi)容用w命令寫入一臨時文件,再用r命令讀入。該方法笨拙,臨時文件需清理。 (2)將欲讀入的內(nèi)容寫入一臨時緩存器后再切換到目標文件,將光標移至需讀入內(nèi)容處,從緩存器中提出。 寫入緩存器a命令:起始行mk 結(jié)束行″ay‘k 從緩存器a中提出:″ap 該方法操作方便快捷,不會產(chǎn)生垃圾文件 5.放棄一修改過的文件,重新編輯 (1)使用命令 :q!強行退出后再vi flname重新進入。 (2)使用命令?。篹!強行重編輯更便捷。 6.定位文件尾用G比:更快捷,段落定位用(和)鍵,括號匹配定位用%,定位行首0,定位行尾,兩行連接J。 7.行左移〈〈,行右移〉〉,該命令用于調(diào)整源碼縮進格式簡便快速。 8.大小寫字母自動切換命令:shilft+~,屏幕刷新Ctrl-1。 9.當編輯的移動鍵失效時可用:map命令,但如終端類型不正確該命令將無效。 10.替換命令的特殊處理:文件行首用^標識,行尾用$標識。 如:1,s/^/abc/g 表示文件行首加入abc字串 1,.s//abc/g 表示文件首行至光標所在行行尾加入abc字串 11.在vi命令狀態(tài)直接讀入一外部命令執(zhí)行結(jié)果: !!+外部命令 如: !!date 直接讀入一系統(tǒng)日期 12.在vi中也可輸入非ASCII碼,如欲輸入打印機的換頁控制碼^L(碼值為12),其輸入方法是先輸Ctrl-v再輸Ctrl-1即可,其中Ctrl-v是靜默值。 13.顯示vi文本中的隱含字符:set list 取消顯示:set nolist。 14.臨時退出至shell狀態(tài)命令:sh,退出shell后將回到原編輯狀態(tài),在同一緩存中編輯另一文件:e flname。 vi編輯器命令很豐富,但沒必要各個都需掌握,只要掌握以上提及的基本命令與技巧,即可自如 效的編輯文件了。 --
昨夜銀河送落花,潺潺落誰家? 冰心素月,兩相映無暇。 寒煙淡籠蒹葭,風吹別怨過天涯。
雙星黯處,山瞑隱清笳。 ※ 來源:·BBS 水木清華站 smth.org·[FROM: 202.38.91.*] |
|