vim是Linux下簡單易用的編輯軟件钓觉,我們可以使用vim來編輯文本文件,包括源代碼蚜厉。
使用vim打開文件名為filename的文件可以運行vim filename
。
兩種模式
vim有兩種模式(大部分材料將其分為三種模式技俐,我們在這里將其簡化為兩種便于學(xué)習(xí)),即編輯模式與命令模式统台。
進入vim后的模式是命令模式雕擂,是不可輸入字符的,只有進入了編輯模式才可以輸入字符饺谬,想要從命令模式轉(zhuǎn)入編輯模式需要輸入i
(表示Insert捂刺,插入)或者a
(表示Append,追加)募寨,然后即可在當(dāng)前光標所在的位置輸入字符族展。
想要從編輯模式轉(zhuǎn)入命令模式,輸入Esc
(一般是鍵盤最左上角的鍵)即可拔鹰。
在兩種模式下都可以使用上下左右鍵仪缸、home鍵與end鍵來改變光標的位置。
編輯模式
在編輯模式下可以輸入字符列肢,包括可打印字符(如英文字母恰画、數(shù)字、括號瓷马、加減乘除等)拴还、Tab、回車(Enter鍵)以添加新的空行欧聘、使用Backspace與Del鍵刪除字符等片林。
命令模式
在命令模式下可以輸入命令,vim支持眾多的命令(在此僅列出幾個)怀骤,包括:
-
x
:刪除當(dāng)前字符 -
w
:word的縮寫费封,跳過當(dāng)前單詞 -
$
:跳到行尾 -
^
:跳到行首 -
%
:跳到匹配的括號處,例如從(跳到)蒋伦,從>跳到<等 -
dw
:delete word的縮寫弓摘,先輸入d,再輸入w痕届,作用是刪除當(dāng)前光標后的單詞 -
dd
:刪除當(dāng)前行 -
d$
:刪除到行尾 -
d%
:刪除到匹配括號 -
d#d
:刪除從當(dāng)前行開始的#行韧献,例如d8d
表示刪除從當(dāng)前行開始的8行 -
u
:undo的縮寫,即恢復(fù)上一個對文件的修改研叫,恢復(fù)可以無限重做锤窑,一直恢復(fù)到文件最開始打開的狀態(tài)。例如若上一個修改是使用dw
刪除了world這個單詞蓝撇,則輸入u
則會將被刪除的world單詞再恢復(fù)回來 -
Ctrl-r
:redo的意思,即把上一個恢復(fù)的修改再重做回去陈莽,即先按住Ctrl鍵不放渤昌,再按r虽抄。例如若上一個修改是使用dw
刪除了world這個單詞,則輸入u
則會將被刪除的world單詞再恢復(fù)回來独柑,再輸入Ctrl-r
則會再將world刪除 -
yy
:復(fù)制當(dāng)前行 -
y#y
:從當(dāng)前行開始復(fù)制#行迈窟,例如y12y表示從當(dāng)前行開始復(fù)制12行 -
y%y
:從當(dāng)前行復(fù)制到匹配括號處 -
p
:即paste的縮寫,粘貼的意思忌栅,即將剪切或者復(fù)制的內(nèi)容粘貼到當(dāng)前光標處
還有一系列以:(冒號)開始的命令车酣,如:
-
:set nu
(:set number)的縮寫,設(shè)置行號顯示 -
:set nonu
(:set nonumber)的縮寫索绪,隱藏行號顯示 -
:set ts=4
(:set tabspace=4)的縮寫湖员,表示設(shè)置一個tab為4個空格的寬度 -
:$
,表示跳到最后一行 -
:#
瑞驱,表示跳到第#行娘摔,例如:10表示跳到第10行 -
:w
,write的縮寫唤反,即寫入文件凳寺,后面也可以加文件名以表示保存成新的文件名 -
:q
,quit的縮寫彤侍,即退出對當(dāng)前文件的編輯 -
:q!
肠缨,表示不保存對文件的修改直接退出 -
:wq
,表示寫入文件以后再退出 -
:%s/old-string/new-string/g
:在整個文件里查找old-string盏阶,并用new-string來代替它晒奕,在這里s表示substitue,即替換的意思般哼,g表示globally吴汪,表示全局 - 如果想進行整詞替換,則需要使用:
%s/\<old-string\>/new-string/g
查找字符串:
-
/word
蒸眠,例如你想查找china這個字符串漾橙,則輸入/china即可 -
n
,為next的縮寫楞卡,表示繼續(xù)查找 -
*
霜运,查找你光標所在的單詞(以整個單詞查找,而不查找部分)蒋腮,也可以使用/\<word\>
來查找word
有時淘捡,我們想要執(zhí)行一個命令,但是不想退出vim池摧。則可以使用Ctrl-z
焦除,即先按住Ctrl鍵不放,然后按z作彤。即可暫時將vim放到后臺膘魄,先切換回命令行執(zhí)行命令乌逐。例如使用g++編譯程序,運行程序進行測試创葡,然后再運行fg
(ForeGround的意思)命令把后臺的vim切換回來浙踢。
配置文件
我們時而需要將vim的一些命令固化下來,對于任何文件都使用灿渴,例如在打開任何文件的時候都顯示行號洛波,每次進入vim后都輸入:set nu
很麻煩,則可以將對應(yīng)的命令保存到~/.vimrc
文件(即當(dāng)前用戶家目錄下的.vimrc文件)中去骚露。
運行vim ~/.vimrc
蹬挤,然后編輯此文件,在里面寫入set nu
保存退出即可荸百。之后每次使用vim打開文件的時候就都會加上行號了闻伶。
在這里我們可以將~/.vimrc稱為vim的配置文件。