vim的使用介紹
Vim是從vi發展出來的一個高級文本編輯器,在編寫程序時非常有用,經常被認為“程序員的編輯器”,支持Linux、Mac OS、Windows系統,在終端中輸入$vim [filename]命令即可進入Vim編輯器對該文件進行編輯,若文件不存在,則會在當前目錄下以這個文件名新建一個文件。
Vim擁有如下三種模式:
插入模式:即 insert 模式,用來輸入文本;
編輯模式:用以執行命令,也稱為正常模式,也是進入Vim的缺省模式;
命令模式:用來執行冒號命令。
進入Vim后會直接進入編輯模式,接下來按下i進入插入模式,可以輸入字符,按下鍵將從插入模式轉換到編輯模式,該模式用于移動和操縱文本。在編輯模式下輸入:即可進入命令模式,可以進行保存、查找、替換、配置Vim操作等。
vim的正確使用快捷鍵
1.移動光標的方法
h 左移一個字符 20h 左移20個字符
j下移一個字符 20j 下移20個字符
k上移一個字符 20k 上移20個字符
l右移一個字符 20l 右移20個字符
【Ctrl + f】 屏幕向下移動一頁 相當于page down
【Ctrl + b】屏幕向上移動一頁 相當于page up
【Ctrl + d】屏幕向下移動半頁
【Ctrl + u】屏幕向上移動一頁
+ 光標移動到非空格符的下一行
- 光標移動到非空格符的上一行n
n n表示數字 例如20 按下數字后按空格鍵,光標右移n個字符(會跨行移動)
0或者HOME鍵 移動到該行的最前面的字符處
$或者END 鍵 移動到該行的最后面的字符處
H 光標移動到這個屏幕的最上方那一行的第一個字符
M 光標移動到這個屏幕中央那一行的第一個字符
L光標移動到這個屏幕的最下方的那一行的第一個字符
G 光標移動到這個文件的最后一行
nG 移動到這個文件的第n行 例如58G
1G 或gg 移到該文件的第一行
N(ENTER) 光標下移N行
2.查找與替換
/word 向下尋找一個名稱為word的字符串
?word 向上尋找
n 這個按鍵代表重復之前的查找,但是向上重復查找
N 這個代表向下重復查找
:n1,n2s/word1/word2/g 這個操作代表在n1與n2行之間查找word1并用word2來代替它
:1,$s/word1/word2/g 這個操作是從第一行到最后一行進行查找替換
:1,$s/word1/word2/gc 與??一樣只不過多了個確認confirm
3.刪除復制與粘貼
x, X 在一行字當中,x 為向后刪除一個字符 (相當于 [del] 按鍵), X 為向前刪除一個字符(相當于 [backspace] 亦即是退格鍵) (常用)
nx n 為數字,連續向后刪除 n 個字符。舉例來說,我要連續刪除光標后 10 個字符, 『10x』。
nX n 為數字,連續刪除光標前面的 n 個字符。舉例來說,我要連續刪除光標前的 10 個字符, 『10X』.
dd 刪除光標所在的那一整行(常用)
yy 復制光標所在的那一行(常用)
ndd n 為數字。刪除光標所在行向下 n 行,例如 20dd 則是刪除 20 行(常用)
nyy n 為數字。復制光標所在行向下 n 行,例如 20yy 則是復制 20 行(常用)
d1G 刪除光標所在行到第一行的所有數據
y1G 復制光標所在行到第一行的所有數據
dG 刪除光標所在行到最后一行的所有數據
yG 復制光標所在行到最后一行的所有數據
d$ 刪除光標所在處,到該行的最后一個字符
y$ 復制光標所在的那個字符到該行行尾的所有數據
d0 那個是數字的 0 ,刪除光標所在處,到該行的最前面一個字符
y0 復制光標所在的那個字符到該行行首的所有數據
p, P. p 將復制的數據,粘貼在光標的下一行,P將復制的數據,粘貼到光標的上一行
J 將光標所在行不下一行的數據結合成同一行
c 重復刪除多個數據,可以通過上下鍵來決定刪除光標上面的,還是下面的
u 撤銷。(常用)
Ctrl + r 撤銷的撤銷。(常用)
4.一般模式切換到命令模式的按鈕說明
i , I 進入插入模式(Insert mode): i 為『從目前光標所在處插入』, I 為『在目前所在行的第一個非空格符處開始插入』。 (常用)
a, A 進入插入模式(Insert mode): a 為『從目前光標所在的下一個字符處開始插入』, A 為『從光標所在行的最后一個字符處開始插入』。(常用)
o, O 進入插入模式(Insert mode): 這是英文字母 o 癿大小寫。o 為『在目前光標所在的下一行處插入新的一行』; O 為在目前光標所在處的上一行插入新的一行!(常用)
r, R 進入替換模式(Replace mode): r 只會替換光標所在癿那一個字符一次;R會一直替換光標所在的文字,直到按下 ESC 為止;(常用)
5.一般模式切換到命令行模式的按鈕說明
【:w】 保存編輯的內容
【:w!】強制寫入該文件,但跟你對該文件的權限有關
【:q】 離開vi
【:q!】 不想保存修改強制離開
【:wq】 保存后離開
【:x】 保存后離開
【ZZ】 若文件沒有更動,則不保存離開,若文件已經被更改過,則保存后離開
【:w filename】 將編輯的數據保存成另一個文件(類似另存)
【:r filename】 在編輯的數據中,讀入另一個文件的數據。即將【filename】 這個文件的內容加到光標所在行后面。
【:n1,n2 w filename】 將n1到n2的內容保存成filename這個文件。
【:! command】暫時離開vi 到命令行模式下執行command的顯示結果!例如 【:! ls /home】即可在 vi 當中察看/home底下以ls輸出的文件信息!
【:set nu】 顯示行號 【:set nonu】 與 set nu 相反,為取消行