·概念及其學(xué)習(xí)原因
? ? Vi是Unix世界里極為普遍的全屏幕文本編輯器谣蠢,VIM是它的改進(jìn)版本Vi IMproved的簡稱,和Emacs并列成為類Unix系統(tǒng)用戶最喜歡的編輯器业簿。幾乎可以說任何一臺Unix機(jī)器都會提供這套軟件乓序。由于Vim具有代碼補(bǔ)完隔箍、編譯及錯誤跳轉(zhuǎn)等方便編程的功能谓娃,在程序員中被廣泛使用。
·最基本的操作流程
1.在命令行里運(yùn)行vim文件名.擴(kuò)展名蜒滩,如果文件名不存在傻粘,則新建一個空文件。
2.vim的工作模式:
不同于一般的文本編輯器帮掉,VIM存在3種工作模式弦悉,分別是命令模式,插入模式和VISUAL模式蟆炊。剛打開vim時處于命令模式稽莉,按一下鍵盤i則進(jìn)入插入模式。注意這時的窗口左下角原本顯示文件名的地方現(xiàn)在顯示“-- INSERT --”涩搓。在插入模式下我們可以像普通的編輯器那樣輸入文本污秆,進(jìn)行編輯。當(dāng)我們想退回命令模式時按鍵昧甘。
3.獲取幫助信息
:help
:help subject
比如想看看x命令的幫助::help x
學(xué)習(xí)vim的主要原因有:
1)所有的Unix like系統(tǒng)都會內(nèi)置vi文本編輯器良拼,其他的文本編輯器則不一定會存在。
2)很多軟件的編輯接口都會主動調(diào)用vi充边。
3)vim具有程序編輯的能力庸推,可以主動以字體顏色辨別語法的正確性常侦,方便程序設(shè)計。
4)程序簡單贬媒,編輯速度快聋亡。
·Vim的基本使用方法及其相關(guān)命令
vim編輯器的三種模式:一般模式、編輯模式和命令行模式际乘。
在一般模式中可以進(jìn)行刪除坡倔、復(fù)制和粘貼的功能,但是無法編輯文件內(nèi)容脖含。從一般模式切換到編輯模式可以按下i罪塔、I、o养葵、O垢袱、a、A港柜、r、R鍵咳榜。按下Esc鍵可以回到一般模式夏醉。在一般模式中輸入:、/涌韩、畔柔?三個中的任意一個可以將光標(biāo)移到最下面的一行。在這個模式中可以提供查找數(shù)據(jù)的操作臣樱,而讀取靶擦、保存、大量替換字符雇毫、離開vii玄捕、顯示行號等操作則是在此模式中完成的。需要注意的是棚放,編輯模式與命令行模式之間是不能互相切換的枚粘。
移動光標(biāo)的方法:
[Ctrl]+[f]:屏幕向下移動一頁,相當(dāng)于[PageDown]按鍵飘蚯。
[Ctrl]+[b]:屏幕向上移動一頁馍迄,相當(dāng)于[PageUp]按鍵。
0或功能鍵[Home]:移動到這一行的最前面字符處局骤。
$或功能鍵[End]:移動到這一行的最后面字符處攀圈。
G:移動到這個文件的最后一行。
gg:移動到這個文件的第一行峦甩,相當(dāng)于1G.
N[Enter]:N為數(shù)字赘来,光標(biāo)向下移動N行。
查找和替換:
/word:向下尋找一個名稱為word的字符串。
撕捍?word:向上尋找一個名稱為word的字符串拿穴。
:n1,n2s/word1/word2/g:在第n1行和n2行之間尋找word1這個字符串,并且將其替換為word2.
:1,$s/word1/word2/g:從第一行到最后一行尋找word1這個字符串忧风,并且將其替換為word2.
:1,$s/word1/word2/gc:從第一行到最后一行尋找word1這個字符串默色,并且將其替換為word2.且在替換前顯示提示字符給用戶確認(rèn)是否需要替換。
刪除狮腿、復(fù)制和粘貼:
x,X:在一行字中腿宰,x為向后刪除一個字符(相當(dāng)于[Del]鍵),X為向前刪除一個字符(相當(dāng)于[Backspace])缘厢。
dd:刪除光標(biāo)所在的一整行吃度。
ndd:刪除光標(biāo)所在的向下n行。
yy:復(fù)制光標(biāo)所在的一行贴硫。
nyy:復(fù)制光標(biāo)所在的向下n行椿每。
p,P:p為將已復(fù)制的內(nèi)容在光標(biāo)的下一行粘貼,P則為粘貼在光標(biāo)的上一行英遭。
u:復(fù)原前一個操作间护。
[Ctrl]+r:重做上一個操作。
.:小數(shù)點(diǎn)挖诸,重復(fù)前一個操作汁尺。
一般模式切換到編輯模式:
i,I:進(jìn)入插入模式,i為從目前光標(biāo)所在處插入多律。I為在目前所在行的第一個非空格字符處開始插入痴突。
a,A:進(jìn)入插入模式狼荞。a為從目前光標(biāo)所在處的下一個字符處開始插入辽装。A為從所在行的最后一個字符處開始插入。
o相味,O:進(jìn)入插入模式如迟。o為在下一行插入。O為在上一行插入攻走。
r殷勘,R:進(jìn)入替換模式。r只替換光標(biāo)所在那個字符一次昔搂。R會一直替換光標(biāo)所在字符玲销,直到按下Esc鍵。
一般模式切換到命令行:
:w:將編輯的數(shù)據(jù)寫入到硬盤中摘符。
:q:離開vi.后面加贤斜!為強(qiáng)制離開策吠。
:wq:保存后離開。
:wq!:強(qiáng)制保存后離開瘩绒。
目前主要的編輯器都有恢復(fù)功能猴抹,vim也不例外。vim是通過“保存”文件來挽回數(shù)據(jù)的锁荔。
每當(dāng)我們在用vim編輯時蟀给,vim都會自動在被編輯的文件的目錄下面再新建一個名為filename.swap的文件。這就是一個暫存文件阳堕,我們對文件filename所做的操作都會被記錄到這個文件當(dāng)中跋理。如果系統(tǒng)意外崩潰,導(dǎo)致文件沒有正常保存恬总,那么這個暫存文件就會發(fā)揮作用前普。
用vim編輯name.txt文件:vim name.txt
在vim的一般模式下按下ctrl+z組合鍵,vim就會被丟失到后臺執(zhí)行壹堰∈们洌回到命令提示符環(huán)境后,我們模擬將vim的工作不正常中斷贱纠。
·vim的功能(在命令行中輸入vimtutor或者gvimtutor可以閱讀峻厚,遇到問題時可以使用:help)
【1】塊選擇
這個功能可以讓復(fù)制一個矩形區(qū)域的內(nèi)容
v:字符選擇,會將光標(biāo)經(jīng)過的地方反白選擇并巍;
V:行選擇;
Ctrl+v:塊選擇换途;
y:復(fù)制反白的地方懊渡;
d:刪除反白的地方。
【2】多文件編輯
兩個或多個文件之間復(fù)制粘貼內(nèi)容時军拟,這個功能會方便很多
使用命令vim name1 name2 name3...(各個文件名之間用空格隔開)可以同時打開多個文件剃执。
:n:編輯下一個文件;
:N:編輯上一個文件懈息;
:files:列出目前vim打開的所有文件肾档。