編輯之神-vim

簡介

vi是"Visual interface"的簡稱, 它在Linux上的地位就仿佛在Edit程序在DOS上一樣。它可以執(zhí)行輸出,刪除,查找,替換,塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對其進(jìn)行定制。Vi不是一個(gè)排版程序,他不像Word或者WPS那樣對文字的字體、格式、段落等其他屬性進(jìn)行排版,他只是一個(gè)文本編輯器,而且vi沒有菜單,只有命令,而且命令繁多。

而vim編輯器是Linux/Unix系統(tǒng)下的標(biāo)準(zhǔn)編輯器,是Linux系統(tǒng)中不可或缺的編輯工具,同時(shí)也是vi編輯器的升級版。在使用Mac系統(tǒng)終端功能時(shí)也會(huì)涉及vim編輯器的運(yùn)用。

大部分的Linux系統(tǒng)都是自帶vi或者vim編輯器的,如果沒有安裝,可以運(yùn)行如下命令進(jìn)行安裝:

sudo apt install vim  # Ubuntu 系統(tǒng)


yum -y install vim   # centos 系統(tǒng)

vim的三種模式

vim通常由三種模式: 一般模式, 插入模式,末行模式。

一般模式

一般模式也稱普通模式或命令行模式。不管叫什么,進(jìn)入vim文件后默認(rèn)看到的就是該模式。在這里可以使用上下左右鍵移動(dòng)光標(biāo),進(jìn)行刪除、復(fù)制等操作處理文件數(shù)據(jù),但無法自由插入數(shù)據(jù)。

復(fù)制粘貼

  • 1、按字符:

? 一般模式下輸入字符【v】(小寫)進(jìn)入VISUAL按字符選擇模式,通過【h、j、k、l】或方向鍵(上下左右箭頭)移動(dòng)光標(biāo)選擇要進(jìn)行復(fù)制的字符串,選定后按y復(fù)制,移動(dòng)到目標(biāo)處按p粘貼,h,j,k,l 分別用于光標(biāo)左移,下移,上移,右移;

  • 2、按行:

? 一般模式下輸入字符【V】(大寫)進(jìn)入VISUAL LINE按行選擇模式,選擇要進(jìn)行復(fù)制的行,按y復(fù)制,按p粘貼;

  • 3、按塊:

? 一般模式下輸入字符【ctrl+v】(大寫)進(jìn)入VISUAL BLOCK按塊選擇模式,選擇要進(jìn)行復(fù)制的塊范圍,按y復(fù)制,按p粘貼;

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

G :將光標(biāo)移至最后一行行首


G: 移動(dòng)到指定行,行號G (擴(kuò)展:打開文件時(shí)跳轉(zhuǎn)指定行,vi 文件名 +行數(shù))


nG :將光標(biāo)移至第n行行首


gg:移動(dòng)到文件開頭,相當(dāng)于1G


0:光標(biāo)移到所在行行首


$:光標(biāo)移到所在行行尾


w或e:下個(gè)字開頭或結(jié)尾


ctrl+b:前一頁


ctrl+f:后一頁
h: 左移 


j: 下移 


k: 上移 


l: 右移


M: 光標(biāo)移動(dòng)到當(dāng)前屏幕的中間行 


L: 光標(biāo)移動(dòng)到當(dāng)前屏幕最后一行行首 


w: 向后一次移動(dòng)一個(gè)字 


b: 向前一次移動(dòng)一個(gè)字


{: 按段移動(dòng),上移 


}: 按段移動(dòng),下移


Ctr-d: 向下翻半屏 


Ctr-u: 向上翻半屏


Ctr-f: 向下翻一屏 


Ctr-b: 向上翻一屏

查找

/:從上往下查找


?:從下往上查找


n:查找下一處


shift*:快速查找當(dāng)前光標(biāo)所在的詞

修改

r或R:替換當(dāng)前光標(biāo)字符(R則進(jìn)入REPLACE模式)


J:合并上下兩行


\>>或<<:縮進(jìn)或反縮進(jìn)

刪除

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


X:刪除光標(biāo)前的字符


nx:刪除光標(biāo)處開始的n個(gè)字符


dd: 刪除光標(biāo)所在行,n dd 刪除指定的行數(shù) 


D:從光標(biāo)開始刪至行末


dw: 刪除光標(biāo)開始位置的字,包含光標(biāo)所在字符


d0: 刪除光標(biāo)前本行所有內(nèi)容,不包含光標(biāo)所在字符


.:重復(fù)前一個(gè)操作

撤銷

u:  一步一步撤銷
ctrl + r : 反撤銷

插入模式

i: 插入光標(biāo)前一個(gè)字符 


I: 插入行首 


a: 插入光標(biāo)后一個(gè)字符 


A: 插入行未 


o: 向下新開一行,插入行首 


O: 向上新開一行,插入行首

末行模式

在命令模式下, 按Shift + ; 進(jìn)行末行模式

退出

:q   退出
:q!  退出并不保存
:w   保存不退出
:wq  保存并退出
:x   保存并退出
:wq! 保存并強(qiáng)制退出

替換

把a(bǔ)bc全部替換成xxxx


末行模式下,將當(dāng)前文件中的所有abc替換成xxx。如果不使用 g,則只會(huì)替換每一行的第一個(gè) abc
:%s/abc/xxx/g


末行模式下,將第一行至第10行之間的abc替換成xxx
:1, 10s/abc/xxx/g
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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