相信Vi是什么就不用我多介紹了,這個(gè)工具從Unix誕生以來(lái)一直是終端下的標(biāo)準(zhǔn)編輯器。幾乎每個(gè)Unix或類Unix操作系統(tǒng)都提供了Vi。 Vim是Vi Improved的縮寫(xiě),功能比起Vi來(lái)說(shuō)有了很大的擴(kuò)展。這里用的是Vi iMproved 6.3。 在Vi 中移動(dòng)光標(biāo)k 上 h l 左 右 j 下 ^ 移動(dòng)到該行第一個(gè)非空格的字符處 w 向前移動(dòng)一個(gè)單詞,將符號(hào)或標(biāo)點(diǎn)當(dāng)作單詞處理 W 向前移動(dòng)一個(gè)單詞,不把符號(hào)或標(biāo)點(diǎn)當(dāng)作單詞處理 b 向后移動(dòng)一個(gè)單詞,把符號(hào)或標(biāo)點(diǎn)當(dāng)作單詞處理 B 向后移動(dòng)一個(gè)單詞,不把符號(hào)或標(biāo)點(diǎn)當(dāng)作單詞處理 ( 光標(biāo)移至句首 ) 光標(biāo)移至句尾 { 光標(biāo)移至段落開(kāi)頭 } 光標(biāo)移至段落結(jié)尾 H 光標(biāo)移至屏幕頂行 M 光標(biāo)移至屏幕中間行 L 光標(biāo)移至屏幕最后行 0 到行首 $ 到行尾 gg 到頁(yè)首 G 到頁(yè)末 行號(hào)+G 跳轉(zhuǎn)到指定行 n+ 光標(biāo)下移n行 n- 光標(biāo)上移n行 Ctrl+g 查詢當(dāng)前行信息和當(dāng)前文件信息 fx 向右跳到本行字符x處(x可以是任何字符) Fx 向左跳到本行字符x處(x可以是任何字符) tx 和fx相同,區(qū)別是跳到字符x前 Tx 和Fx相同,區(qū)別是跳到字符x后 C-b 向上滾動(dòng)一屏 C-f 向下滾動(dòng)一屏 C-u 向上滾動(dòng)半屏 C-d 向下滾動(dòng)半屏 C-y 向上滾動(dòng)一行 C-e 向下滾動(dòng)一行 nz 將第n行滾至屏幕頂部,不指定n時(shí)將當(dāng)前行滾至屏幕頂部。 進(jìn)入和退出Vi命令vi filename 打開(kāi)或新建文件,并將光標(biāo)置于第一行首 vi +n filename 打開(kāi)文件,并將光標(biāo)置于第n行首 vi + filename 打開(kāi)文件,并將光標(biāo)置于最后一行首 vi +/pattern filename 打開(kāi)文件,并將光標(biāo)置于第一個(gè)與pattern匹配的串處 vi -r filename 在上次正用vi編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)filename vi filename ... filename 打開(kāi)多個(gè)文件,依次進(jìn)行編輯 ZZ 退出vi并保存 :q! 退出vi,不保存 :wq 退出vi并保存 重復(fù)操作. 重復(fù)上一次操作 自動(dòng)補(bǔ)齊C-n 匹配下一個(gè)關(guān)鍵字 C-p 匹配上一個(gè)關(guān)鍵字 插入o 在光標(biāo)下方新開(kāi)一行并將光標(biāo)置于新行行首,進(jìn)入插入模式。 O 同上,在光標(biāo)上方。 a 在光標(biāo)之后進(jìn)入插入模式。 A 同上,在光標(biāo)之前。 R 進(jìn)入替換模式,直到按下Esc set xxx 設(shè)置XXX選項(xiàng)。 行合并J 把下面一行合并到本行后面 Vi中查找及替換命令/pattern 從光標(biāo)開(kāi)始處向文件尾搜索pattern ?pattern 從光標(biāo)開(kāi)始處向文件首搜索pattern n 在同一方向重復(fù)上一次搜索命令 N 在反方向上重復(fù)上一次搜索命令 % 查找配對(duì)的括號(hào) :s/p1/p2/g 將當(dāng)前行中所有p1均用p2替代,若要每個(gè)替換都向用戶詢問(wèn)則應(yīng)該用gc選項(xiàng) :n1,n2s/p1/p2/g 將第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g 將文件中所有p1均用p2替換 .*[]^%~$ 在Vi中具有特殊含義,若需要查找則應(yīng)該加上轉(zhuǎn)義字符"\" 查找的一些選項(xiàng)設(shè)置高亮:set hlsearch 設(shè)置高亮 :set nohlsearch 關(guān)閉高亮 :nohlsearch 關(guān)閉當(dāng)前已經(jīng)設(shè)置的高亮 增量查找:set incsearch 設(shè)置增量查找 :set noincsearch 關(guān)閉增量查找 在Vi中刪除x 刪除當(dāng)前光標(biāo)下的字符 dw 刪除光標(biāo)之后的單詞剩余部分。 d$ 刪除光標(biāo)之后的該行剩余部分。 dd 刪除當(dāng)前行。 c 功能和d相同,區(qū)別在于完成刪除操作后進(jìn)入INSERT MODE cc 也是刪除當(dāng)前行,然后進(jìn)入INSERT MODE 更改字符rx 將當(dāng)前光標(biāo)下的字符更改為x(x為任意字符) ~ 更改當(dāng)前光標(biāo)下的字符的大小寫(xiě) 鍵盤(pán)宏操作qcharacter 開(kāi)始錄制宏,character為a到z的任意字符 q 終止錄制宏 @character 調(diào)用先前錄制的宏 恢復(fù)誤操作u 撤銷最后執(zhí)行的命令 U 修正之前對(duì)該行的操作 Ctrl+R Redo 在Vi中操作Framec-w c-n 增加frame c-w c-c 減少frame c-w c-w 切換frame c-w c-r 交換兩個(gè)frame VIM中的塊操作Vim支持多達(dá)26個(gè)剪貼板 選塊 先用v,C-v,V選擇一塊,然后用y復(fù)制,再用p粘貼。 yy 復(fù)制當(dāng)前整行 nyy 復(fù)制當(dāng)前行開(kāi)始的n行內(nèi)容 ?nyy 將光標(biāo)當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字 ?nyw 將光標(biāo)當(dāng)前行及其下n個(gè)詞保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字 ?nyl 將光標(biāo)當(dāng)前行及其下n個(gè)字符保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字 ?p 將寄存器?中的內(nèi)容粘貼到光標(biāo)位置之后。如果?是用yy復(fù)制的完整行, 則粘貼在光標(biāo)所在行下面。這里?可以是一個(gè)字母,也可以是一個(gè)數(shù)字 ?P 將寄存器a中的內(nèi)容粘貼到光標(biāo)位置之前。如果?是用yy復(fù)制的完整行, 則粘貼在光標(biāo)所在行上面。這里?可以是一個(gè)字母,也可以是一個(gè)數(shù)字 ay[motion] ay$ 復(fù)制光標(biāo)位置到行末并保存在寄存器a中 ayft 復(fù)制光標(biāo)位置到當(dāng)前行第一個(gè)字母t并保存在寄存器a中 以上指令皆可去掉a工作,則y,p對(duì)未命名寄存器工作(所有d,c,x,y的對(duì)象都被保存在這里)。 剪切/復(fù)制/粘貼所有刪除的內(nèi)容自動(dòng)被保存,可以用p鍵粘貼 Vi的選項(xiàng)設(shè)置all 列出所有選項(xiàng)設(shè)置情況 term 設(shè)置終端類型 ignorance 在搜索中忽略大小寫(xiě) list 顯示制表位(Ctrl+I)和行尾標(biāo)志($) number 顯示行號(hào) report 顯示由面向行的命令修改過(guò)的數(shù)目 terse 顯示簡(jiǎn)短的警告信息 warn 在轉(zhuǎn)到別的文件時(shí)若沒(méi)保存當(dāng)前文件則顯示NO write信息 nomagic 允許在搜索模式中,使用前面不帶“\”的特殊字符 nowrapscan 禁止vi在搜索到達(dá)文件兩端時(shí),又從另一端開(kāi)始 mesg 允許vi顯示其他用戶用write寫(xiě)到自己終端上的信息 tips對(duì)代碼自動(dòng)格式化 gg=G |
|
來(lái)自: corefashion > 《web服務(wù)》