http://www.cnblogs.com/jiayongji/p/5771444.html
1、vi/vim是什么?
2、為什么要學(xué)習(xí)vi/vim班缎?
首先所有的Linux發(fā)行版系統(tǒng)上都會(huì)默認(rèn)內(nèi)置vi編輯器,而不一定帶有其他文本編輯器她渴,非常通用达址;其次,很多軟件的編輯接口都會(huì)默認(rèn)調(diào)用vi趁耗;第三沉唠,vi具有程序編輯的能力;最后苛败,vi程序簡(jiǎn)單满葛,編輯速度相當(dāng)快速。
3罢屈、vi的三種模式及各個(gè)模式之間的轉(zhuǎn)換關(guān)系
4嘀韧、一般模式常用操作
4.1 光標(biāo)的移動(dòng)
【h(或向左方向鍵)】 光標(biāo)左移一個(gè)字符
【j(或向下方向鍵)】 光標(biāo)下移一個(gè)字符
【k(或向上方向鍵)】 光標(biāo)上移一個(gè)字符
【l(或向右方向鍵)】 光標(biāo)右移一個(gè)字符
【[Ctrl] + f】 屏幕向下移動(dòng)一頁(yè)(相當(dāng)于Page Down鍵)
【[Ctrl] + b】 屏幕向上移動(dòng)一頁(yè)(相當(dāng)于Page Up鍵)
4.2 復(fù)制刪除搜索替換
刪除多行
:9,15 d
復(fù)制多行
:9缠捌,15 copy 16 或 :9锄贷,15 co 16
由此可有:
:9译蒂,15 move 16 或 :9,15 m 16 將第9行到第15行的文本內(nèi)容到第16行的后面
【u】 撤消上一個(gè)操作
【[Ctrl] + r】 多次撤消
【x,X】 x為向后刪除一個(gè)字符,相當(dāng)于[Delete]谊却,X為向前刪除一個(gè)字符柔昼,相當(dāng)于[Backspace]
【dd】 刪除光標(biāo)所在的一整行
【ndd】 刪除光標(biāo)所在的向下n行
【d$】刪除以當(dāng)前字符開(kāi)始的一行字符
【dw】 刪除以當(dāng)前字符開(kāi)始的一個(gè)字
【ndw】 刪除以當(dāng)前字符開(kāi)始的n個(gè)字
【d0】 刪至行首
【d$】 刪至行尾
【yy】 復(fù)制光標(biāo)所在的那一行
【nyy】 復(fù)制光標(biāo)所在的向下n行
【p,P】 p為將已經(jīng)復(fù)制的數(shù)據(jù)在光標(biāo)下一行粘貼;P為將已經(jīng)復(fù)制的數(shù)據(jù)在光標(biāo)上一行粘貼
【.】 這是小數(shù)點(diǎn)鍵炎辨,重復(fù)上一個(gè)操作
【/word】 在文件中查找內(nèi)容為word的字符串(向下查找)
【?word】 在文件中查找內(nèi)容為word的字符串(向上查找)
【[n]】 表示重復(fù)查找動(dòng)作捕透,即查找下一個(gè)
【[N]】 反向查找下一個(gè)
【:g/Javen/s//Javen.zhou/g】將文件中所有Javen均用Javen.zhou替換
【:n1,n2s/Javen/Javen.zhou/g】 n1、n2為數(shù)字碴萧,在第n1行到第n2行之間查找Javen字符串乙嘀,并將其替換成Javen.zhou
【:n1,n2s/Javen/Javen.zhou/gc】 功能同上,只不過(guò)每次替換時(shí)都會(huì)讓用戶確認(rèn)
【:s/Javen/Javen.zhou/g】將當(dāng)前行中所有Javen均用Javen.zhou替代破喻,若要每個(gè)替換都向用戶詢問(wèn)則應(yīng)該用gc選項(xiàng)
【:1,s/Javen/Javen.zhou/g】從第一行(第n行同理)到最后一行查找Javen虎谢,并將其替換成Javen.zhou
【J 】把下一行合并到當(dāng)前行尾
4.2 塊選擇
【v,V】 v:將光標(biāo)經(jīng)過(guò)的地方反白選擇;V:將光標(biāo)經(jīng)過(guò)的行反白選擇
【[Ctrl] + v】 塊選擇低缩,可用長(zhǎng)方形的方式選擇文本
【y】 將反白的地方復(fù)制到剪貼板
【d】 將反白的內(nèi)容刪除
5嘉冒、一般模式切換到命令行模式
【:w】 保存文件
【:w!】 若文件為只讀曹货,強(qiáng)制保存文件
【:q】 離開(kāi)vi
【:q!】 不保存強(qiáng)制離開(kāi)vi
【:wq】 保存后離開(kāi)
【:wq!】 強(qiáng)制保存后離開(kāi)
【:! command】 暫時(shí)離開(kāi)vi到命令行下執(zhí)行一個(gè)命令后的顯示結(jié)果
【:set nu】 顯示行號(hào)
【:set nonu】 取消顯示行號(hào)
【:w newfile】 另存為
6咆繁、多文件編輯
【vim file1 file2】 同時(shí)打開(kāi)兩個(gè)文件
【:n】 編輯下一個(gè)文件
【:N】 編輯上一個(gè)文件
【:files】 列出當(dāng)前用vim打開(kāi)的所有文件
7、多窗口功能
【:sp [filename]】 打開(kāi)一個(gè)新窗口顶籽,顯示新文件玩般,若只輸入:sp,則兩窗口顯示同一個(gè)文件
【[Ctrl] + w + j】 光標(biāo)移動(dòng)到下方窗口
【[Ctrl] + w + k】 光標(biāo)移動(dòng)到上方窗口
【[Ctrl] + w + q】 離開(kāi)當(dāng)前窗口
8礼饱、設(shè)置高亮
【:set hlsearch】 設(shè)置高亮
【:set nohlsearch】 關(guān)閉高亮
【:nohlsearch】 關(guān)閉當(dāng)前已經(jīng)設(shè)置的高亮