vim的使用介紹
Vim是從vi發(fā)展出來的一個高級文本編輯器,在編寫程序時非常有用现诀,經(jīng)常被認(rèn)為“程序員的編輯器”夷磕,支持Linux、Mac OS仔沿、Windows系統(tǒng)坐桩,在終端中輸入$vim [filename]命令即可進(jìn)入Vim編輯器對該文件進(jìn)行編輯,若文件不存在封锉,則會在當(dāng)前目錄下以這個文件名新建一個文件绵跷。
Vim擁有如下三種模式:
插入模式:即 insert 模式,用來輸入文本成福;
編輯模式:用以執(zhí)行命令碾局,也稱為正常模式,也是進(jìn)入Vim的缺省模式奴艾;
命令模式:用來執(zhí)行冒號命令净当。
進(jìn)入Vim后會直接進(jìn)入編輯模式,接下來按下i進(jìn)入插入模式,可以輸入字符像啼,按下鍵將從插入模式轉(zhuǎn)換到編輯模式俘闯,該模式用于移動和操縱文本。在編輯模式下輸入:即可進(jìn)入命令模式忽冻,可以進(jìn)行保存真朗、查找、替換僧诚、配置Vim操作等遮婶。
vim的正確使用快捷鍵
1.移動光標(biāo)的方法
h 左移一個字符 20h 左移20個字符
j下移一個字符 20j 下移20個字符
k上移一個字符 20k 上移20個字符
l右移一個字符 20l 右移20個字符
【Ctrl + f】 屏幕向下移動一頁 相當(dāng)于page down
【Ctrl + b】屏幕向上移動一頁 相當(dāng)于page up
【Ctrl + d】屏幕向下移動半頁
【Ctrl + u】屏幕向上移動一頁
+ 光標(biāo)移動到非空格符的下一行
- 光標(biāo)移動到非空格符的上一行n
n n表示數(shù)字 例如20 按下數(shù)字后按空格鍵,光標(biāo)右移n個字符(會跨行移動)
0或者HOME鍵 移動到該行的最前面的字符處
$或者END 鍵 移動到該行的最后面的字符處
H 光標(biāo)移動到這個屏幕的最上方那一行的第一個字符
M 光標(biāo)移動到這個屏幕中央那一行的第一個字符
L光標(biāo)移動到這個屏幕的最下方的那一行的第一個字符
G 光標(biāo)移動到這個文件的最后一行
nG 移動到這個文件的第n行 例如58G
1G 或gg 移到該文件的第一行
N(ENTER) 光標(biāo)下移N行
2.查找與替換
/word 向下尋找一個名稱為word的字符串
?word 向上尋找
n 這個按鍵代表重復(fù)之前的查找湖笨,但是向上重復(fù)查找
N 這個代表向下重復(fù)查找
:n1,n2s/word1/word2/g 這個操作代表在n1與n2行之間查找word1并用word2來代替它
:1,$s/word1/word2/g 這個操作是從第一行到最后一行進(jìn)行查找替換
:1,$s/word1/word2/gc 與??一樣只不過多了個確認(rèn)confirm
3.刪除復(fù)制與粘貼
x, X 在一行字當(dāng)中旗扑,x 為向后刪除一個字符 (相當(dāng)于 [del] 按鍵), X 為向前刪除一個字符(相當(dāng)于 [backspace] 亦即是退格鍵) (常用)
nx n 為數(shù)字赶么,連續(xù)向后刪除 n 個字符肩豁。舉例來說,我要連續(xù)刪除光標(biāo)后 10 個字符辫呻, 『10x』。
nX n 為數(shù)字琼锋,連續(xù)刪除光標(biāo)前面的 n 個字符放闺。舉例來說,我要連續(xù)刪除光標(biāo)前的 10 個字符缕坎, 『10X』.
dd 刪除光標(biāo)所在的那一整行(常用)
yy 復(fù)制光標(biāo)所在的那一行(常用)
ndd n 為數(shù)字怖侦。刪除光標(biāo)所在行向下 n 行,例如 20dd 則是刪除 20 行(常用)
nyy n 為數(shù)字谜叹。復(fù)制光標(biāo)所在行向下 n 行匾寝,例如 20yy 則是復(fù)制 20 行(常用)
d1G 刪除光標(biāo)所在行到第一行的所有數(shù)據(jù)
y1G 復(fù)制光標(biāo)所在行到第一行的所有數(shù)據(jù)
dG 刪除光標(biāo)所在行到最后一行的所有數(shù)據(jù)
yG 復(fù)制光標(biāo)所在行到最后一行的所有數(shù)據(jù)
d$ 刪除光標(biāo)所在處,到該行的最后一個字符
y$ 復(fù)制光標(biāo)所在的那個字符到該行行尾的所有數(shù)據(jù)
d0 那個是數(shù)字的 0 荷腊,刪除光標(biāo)所在處艳悔,到該行的最前面一個字符
y0 復(fù)制光標(biāo)所在的那個字符到該行行首的所有數(shù)據(jù)
p, P. p 將復(fù)制的數(shù)據(jù),粘貼在光標(biāo)的下一行女仰,P將復(fù)制的數(shù)據(jù),粘貼到光標(biāo)的上一行
J 將光標(biāo)所在行不下一行的數(shù)據(jù)結(jié)合成同一行
c 重復(fù)刪除多個數(shù)據(jù)猜年,可以通過上下鍵來決定刪除光標(biāo)上面的,還是下面的
u 撤銷疾忍。(常用)
Ctrl + r 撤銷的撤銷乔外。(常用)
4.一般模式切換到命令模式的按鈕說明
i , I 進(jìn)入插入模式(Insert mode): i 為『從目前光標(biāo)所在處插入』, I 為『在目前所在行的第一個非空格符處開始插入』一罩。 (常用)
a, A 進(jìn)入插入模式(Insert mode): a 為『從目前光標(biāo)所在的下一個字符處開始插入』杨幼, A 為『從光標(biāo)所在行的最后一個字符處開始插入』。(常用)
o, O 進(jìn)入插入模式(Insert mode): 這是英文字母 o 癿大小寫。o 為『在目前光標(biāo)所在的下一行處插入新的一行』差购; O 為在目前光標(biāo)所在處的上一行插入新的一行四瘫!(常用)
r, R 進(jìn)入替換模式(Replace mode): r 只會替換光標(biāo)所在癿那一個字符一次;R會一直替換光標(biāo)所在的文字歹撒,直到按下 ESC 為止莲组;(常用)
5.一般模式切換到命令行模式的按鈕說明
【:w】 保存編輯的內(nèi)容
【:w!】強(qiáng)制寫入該文件,但跟你對該文件的權(quán)限有關(guān)
【:q】 離開vi
【:q!】 不想保存修改強(qiáng)制離開
【:wq】 保存后離開
【:x】 保存后離開
【ZZ】 若文件沒有更動暖夭,則不保存離開锹杈,若文件已經(jīng)被更改過,則保存后離開
【:w filename】 將編輯的數(shù)據(jù)保存成另一個文件(類似另存)
【:r filename】 在編輯的數(shù)據(jù)中迈着,讀入另一個文件的數(shù)據(jù)竭望。即將【filename】 這個文件的內(nèi)容加到光標(biāo)所在行后面。
【:n1,n2 w filename】 將n1到n2的內(nèi)容保存成filename這個文件裕菠。
【:! command】暫時離開vi 到命令行模式下執(zhí)行command的顯示結(jié)果咬清!例如 【:! ls /home】即可在 vi 當(dāng)中察看/home底下以ls輸出的文件信息!
【:set nu】 顯示行號 【:set nonu】 與 set nu 相反奴潘,為取消行