VIM編輯器

VIM:Visual Interface Improved;vim是一個(gè)類似于vi的著名的功能強(qiáng)大、高度可定制的文本編輯器,在Vi的基礎(chǔ)上改進(jìn)和增加了很多特性。

vim在工作過(guò)程中有三種模式:命令模式(command mode) ,編輯模式(edit mode),末行模式(extended command mode).

①命令模式:鍵盤操作中常被理解為編輯命令。

②編輯模式:在文本文件中進(jìn)行輸入內(nèi)容。

③末行模式:vim內(nèi)置的命令行接口,執(zhí)行vim的內(nèi)置命令。

vim的使用:

首先要學(xué)會(huì)的模式的切換:

①ESC鍵:從編輯模式切換到命令模式

②若欲從命令模式切換到編輯模式,可采用以下的命令:

? ? ? ?i: insert, 在光標(biāo)所在處輸入

? ? ? ?I:在當(dāng)前光標(biāo)所在行的行首輸入

? ? ? a: append, 在光標(biāo)所在處后面輸入

? ? ? ?A:在當(dāng)前光標(biāo)所在行的行尾輸入

? ? ? ?o: 在當(dāng)前光標(biāo)所在行的下方打開(kāi)一個(gè)新行

? ? ? ?O:在當(dāng)前光標(biāo)所在行的上方打開(kāi)一個(gè)新行

按下上述的按鍵后,同時(shí)在屏幕的左下方會(huì)出現(xiàn)INSERT字樣

eg:

③命令模式轉(zhuǎn)換到末行模式:直接輸入“:”,即可在窗口的左下角顯示

④末行模式傳喚到命令模式敲擊ESC即可。

注:編輯模式不能直接轉(zhuǎn)換至末行模式。

⑤退出文件:

(1)在末行模式下退出

;q ? ? ?退出

:q! ?不保存退出

:wq ? ? ? 保存退出

:x ? 保存退出

:wq! ? ?強(qiáng)制保存退出

:w/PATH/TO/SOMEWHERE ? 保存至具體路徑

? r ?filename ? ? 讀文件內(nèi)容到當(dāng)前文件中

? w ?filename ? ?將當(dāng)前文件內(nèi)容寫入另一個(gè)文件

? ?!command ? ? 執(zhí)行命令

? ? r!command ? ?讀入命令的輸出

注:在命令模式下保存退出的快捷鍵:ZZ

⑥光標(biāo)移動(dòng):

? ?hjkl:分別表示左右下上

? ?w: ?下一個(gè)單詞詞首

? e: ? 當(dāng)前單詞或下個(gè)單詞詞尾

? b:當(dāng)前單詞或前一個(gè)單詞詞尾

#{h|j|k|l|w|e|b} ? ?:先按給定數(shù)字后再按特定字母表示跳動(dòng)#次。

⑦行內(nèi)移動(dòng):

? ?^ : ? 行首第一個(gè)非空白字符

? ?0:絕對(duì)行首

? ?$: ?絕對(duì)行尾

#G : ?直接跳轉(zhuǎn)至第#行

G ?: ? 最后一行

IG ?| ? gg ? :二者都表示第一行

vim的編輯命令

? x: 刪除光標(biāo)處的字符

? #x: 刪除光標(biāo)處起始的#個(gè)字符

? xp: 交換光標(biāo)所在處的字符及其后面字符的位置

? ~:轉(zhuǎn)換大小寫

? J:刪除當(dāng)前行后的換行符

?d: 刪除命令,可結(jié)合光標(biāo)跳轉(zhuǎn)字符,實(shí)現(xiàn)范圍刪除

? ? ? ? ? 可組合:dw,db,de,d0,d^,d$(與D的效果相同)

?dd:刪除光標(biāo)所在行 ? ? ? #dd:多行刪除

? ?p:緩沖區(qū)存的如果為整行,則粘貼當(dāng)前光標(biāo)所在行的下方;否則,則粘貼至當(dāng)前光標(biāo)所在處的后面

? ?P:緩沖區(qū)存的如果為整行,則粘貼當(dāng)前光標(biāo)所在行的上方;否則,則粘貼至當(dāng)前光標(biāo)所在處的前面

? ? y:yank,復(fù)制,結(jié)合光標(biāo)跳轉(zhuǎn)字符使用,復(fù)制跳轉(zhuǎn)范圍內(nèi)的字符

#y:復(fù)制從當(dāng)前行向下#行的內(nèi)容 ? ? ? ? ? ? ? ? ? ?Y:yy ? ? 復(fù)制行

? ? ? 改變命令(c, change) ?c: 修改后切換成插入模式,結(jié)合光標(biāo)跳轉(zhuǎn)字符使用,修改跳轉(zhuǎn)光標(biāo)范圍內(nèi)的字符——w,b,e,$,0,^ ? ? ? ? ? ? ? ? ? ?cc|C:刪除光標(biāo)所在處的正行而后轉(zhuǎn)換為輸入

vim中的末行模式:

①內(nèi)容界定:startpos,endpos

# ? ? ?:第#行 ? ? ? #,# ? ?:從左側(cè)的第#行到右側(cè)的第#行 ? ? ? . ? ? :當(dāng)前行 ? ? $ ? :最后一行

%? :全文? ? ? ? ? #,+# ?:從左側(cè)#表示的起始行,加上右側(cè)#表示的行數(shù),2,+3 表示2到5行

/pat1/,/pat2/ ?從第一次被pat1模式匹配到的行開(kāi)始,一直到第一次被 pat2匹配到的行結(jié)束

②查找 :/PATTERN:從當(dāng)前光標(biāo)所在處向文件尾部查找 ? ??PATTERN:從當(dāng)前光標(biāo)所在處向文件首部查找 ? ? ? ?n:與命令同方向 ? N:與命令反方向

③查找并替換

s: 在擴(kuò)展模式下完成查找替換操作 ? ? ? 格式:s/要查找的內(nèi)容/替換為的內(nèi)容/修飾符

可以用正則表達(dá)式查找

替換為的內(nèi)容:不能使用模式,但可以使用\1, \2, ...等后向引用符號(hào);還可以使用“&”引用前面查找時(shí)查找到的整個(gè)內(nèi)容

修飾符:i: 忽略大小寫 ? ? g: 全局替換;默認(rèn)情況下,每一行只替換第一次出現(xiàn) ? ? ?gc:全局替換,每次替換前詢問(wèn)

多文件模式:

:next 下一個(gè) ? ?:prev前一個(gè) ? ?:first 第一個(gè) ? ? :last 最后一個(gè)

:wall 保存所有 ? ? ?:qall退出所有 ? ? ? ?:wqall ? 保存所有文件并退出

多窗口模式:

多文件 ? ?vim -o|-O FILE1 FILE2 ...

-o: 水平分割 ? ? ? ? -O: 垂直分割

在窗口間切換:Ctrl+w, Arrow

單文件窗口分割:

Ctrl+w,s: split, 水平分割 ? ? Ctrl+w,v: vertical, 垂直分割

ctrl+w,q:取消相鄰窗口 ? ? ctrl+w,o:取消全部窗口

:wqall退出

練習(xí):? ?

復(fù)制/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的行首的空白字符

? ? ? %s@^[[:space:]]\+@@g

復(fù)制/etc/rc.d/init.d/functions文件至/tmp目錄,用查找替換命令為/tmp/functions的每行開(kāi)頭為空白字符的行的行首添加一個(gè)#號(hào)

? ? ? %s@^#[[:space:]]\+.*@#&@g

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vim是由vi發(fā)展來(lái)的一個(gè)強(qiáng)大的文本編輯器,代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛使用...
    dxldeng閱讀 938評(píng)論 0 1
  • 一.vi的基本概念文本編輯器有很多,圖形模式下有g(shù)edit、kwrite等編輯器,文本模式下的編輯器有vi、vim...
    一線碼農(nóng)閱讀 811評(píng)論 0 0
  • (一)Vim模式 vim的三種工作模式:命令模式(Command Mode) 、輸入模式(Input Mode)、...
    07120665a058閱讀 4,391評(píng)論 12 108
  • 命令歷史 以:和/開(kāi)頭的命令都有歷史紀(jì)錄,可以首先鍵入:或/然后按上下箭頭來(lái)選擇某個(gè)歷史命令。 啟動(dòng)vim 在命令...
    西多的大叔閱讀 344評(píng)論 0 0
  • 概述 vim編輯器是linux下享有盛譽(yù)的文本編輯器,據(jù)說(shuō)世界上的程序員只用三種編輯器,Vim(編輯器之神), E...
    閑睡貓閱讀 1,014評(píng)論 1 13

友情鏈接更多精彩內(nèi)容