這是我自己csdn部落格上的整理,拿出來給大家分享一下。
一、大範圍的移動:
* 當游標停留在一個單詞上,* 鍵會在檔案內搜尋該單詞,並跳轉到下一處;
當游標停留在一個單詞上,# 在檔案內搜尋該單詞,並跳轉到上一處;
(/) 移動到 前/後 句 的開始;
{/} 跳轉到 當前/下一個 段落 的開始。
g_ 到本行最後一個不是 blank 字元的位置。
fa 到下一個為 a 的字元處,你也可以fs到下一個為s的字元。
t, 到逗號前的第一個字元。逗號可以變成其它字元。
3fa 在當前行查詢第三個出現的 a。
F/T 和 f 和 t 一樣,只不過是相反方向;
gg 將游標定位到檔案第一行起始位置;
G 將游標定位到檔案最後一行起始位置;
NG或Ngg 將游標定位到第 N 行的起始位置。
在螢幕中找到需要的 一頁 時,可以用下面的命令快速移動游標:
H 將游標移到螢幕上的起始行(或最上行);
M 將游標移到螢幕中間;
L 將游標移到螢幕最後一行。
同樣需要注意字母的大小寫。H 和 L 命令還可以加數字。如 2H 表示將游標移到螢幕的第2行,3L 表示將游標移到螢幕的倒數第3行。
當將游標移到所要的行是,行內移動 游標可以用下面的命令來實現:
w 右移游標到下一個字的開頭;
e 右移游標到一個字的末尾;
b 左移游標到前一個字的開頭;
0 數字0,左移游標到本行的開始;
$ 右移游標,到本行的末尾;
^ 移動游標,到本行的第一個非空字元。
二、搜尋匹配
和許多先進的編輯器一樣,Vim 提供了強大的字串搜尋功能。要查詢檔案中指定字或短語出現的位置,可以用Vim直接進行搜尋,而不必以手工方式進行。搜尋方法是:鍵入字元 / ,後面跟以要搜尋的字串,然後按回車鍵。編輯程式執行正向搜尋(即朝檔案末尾方向),並在找到指定字串後,將游標停到該字串的開頭;鍵入 n 命令可以繼續執行搜尋,找出這一字串下次出現的位置。用字元 ? 取代 / ,可以實現反向搜尋(朝檔案開頭方向)。例如:
/str1 正向搜尋字串 str1;
n 繼續搜尋,找出 str1 字串下次出現的位置;
N 繼續搜尋,找出 str1 字串上一次出現的位置;
?str2 反向搜尋字串 str2 。
Vim常規的刪除命令是 d、 x (前者刪除 行 ,後者刪除 字元 ),結合Vim的其他特性可以實現基礎的刪除功能。將游標定位於檔案內指定位置後,可以用其他字元來替換游標所指向的字元,或從當前游標位置刪除一個或多個字元或一行、多行。例如:
rc 用 c 替換游標所指向的當前字元;
nrc 用 c 替換游標所指向的前 n 個字元;
5rA 用 A 替換游標所指向的前 5 個字元;
四、字串搜尋
在 編輯模式 講過字串的搜尋,此處的 命令模式 也可以進行字串搜尋,給出一個字串,可以透過搜尋該字串到達指定行。如果希望進行正向搜尋,將待搜尋的字串置於兩個/ 之間;如果希望反向搜尋,則將字串放在兩個 ? 之間。例如:
:/str/ 正向搜尋,將游標移到下一個包含字串 str 的行
:?str? 反向搜尋,將游標移到上一個包含字串 str 的行
:/str/w file 正向搜尋,並將第一個包含字串 str 的行寫入 file 檔案
:/str1/,/str2/w file 正向搜尋,並將包含字串 str1 的行至包含字串 str2 的行寫
五、正文替換
利用 :s 命令可以實現字串的替換。具體的用法包括:
:%s/str1/str2/ 用字串 str2 替換行中首次出現的字串 str1
:s/str1/str2/g 用字串 str2 替換行中所有出現的字串 str1
:.,$ s/str1/str2/g 用字串 str2 替換正文當前行到末尾所有出現的字串 str1
:1,$ s/str1/str2/g 用字串 str2 替換正文中所有出現的字串 str1
:g/str1/s//str2/g 功能同上
:m,ns/str1/str2/g 將從m行到n行的str1替換成str2
六、分屏
普通的Vim模式,開啟一個Vim程式只能檢視一個檔案,如果想同時檢視多個檔案,就需要用到Vim分屏與標籤頁功能。
Vim的分屏,主要有兩種方式:上下分屏(水平分屏)和左右分屏(垂直分屏),在命令模式分別敲入以下命令即可:
:split(可用縮寫 :sp) 上下分屏;
:vsplit(可用縮寫 :vsp) 左右分屏。
另外,也可以在終端裡啟動vim時就開啟分屏操作:
vim -On file1 file2... 開啟 file1 和 file2 ,垂直分屏
vim -on file1 file2... 開啟 file1 和 file2 ,水平分屏
理論上,一個Vim視窗,可以分為多個Vim螢幕,切換螢幕需要用鍵盤快捷鍵,命令分別有:
Ctrl+w+h 切換到當前分屏的左邊一屏;
Ctrl+w+l 切換到當前分屏的右邊一屏;
Ctrl+w+j 切換到當前分屏的下方一屏;
Ctrl+w+k 切換到當前分屏的上方一屏。
即鍵盤上的h,j,k,l 四個Vim專用方向鍵,配合Ctrl鍵和w鍵(window的縮寫),就能跳轉到目標分屏。另外,也可以直接按 Ctrl+w+w 來跳轉分屏,不過跳轉方向則是在當前Vim視窗所有分屏中,按照逆時針方向跳轉。
下面是改變尺寸的一些操作,主要是高度,對於寬度你可以使用 [Ctrl+W <] 或是 [Ctrl+W>] ,但這可能需要最新的版本才支援。
Ctrl+W = 讓所有的屏都有一樣的高度;
Ctrl+W + 增加高度;
Ctrl+W - 減少高度。
七、標籤頁
Vim的標籤(Tab)頁,類似瀏覽器的標籤頁,一個標籤頁開啟一個Vim的視窗,一個Vim的視窗可以支援N個分屏。
在Vim中新建一個標籤的命令是:
:tabnew
如果要在新建標籤頁的同時開啟一個檔案,則可以在命令後面直接附帶檔案路徑:
:tabnew filename
Vim中的每個標籤頁有一個唯一的數字序號,第一個標籤頁的序號是0,從左向右依次加一。關於標籤頁有一系列操作命令,簡介如下:
:tN[ext] 跳轉到上一個匹配的標籤
:tabN[ext] 跳到上一個標籤頁
:tabc[lose] 關閉當前標籤頁
:tabdo 為每個標籤頁執行命令
:tabe[dit] 在新標籤頁裡編輯檔案
:tabf[ind] 尋找 "path" 裡的檔案,在新標籤頁裡編輯之
:tabfir[st] 轉到第一個標籤頁
:tabl[ast] 轉到最後一個標籤頁
:tabm[ove] N 把標籤頁移到序號為N位置
:tabnew [filename] 在新標籤頁裡編輯檔案
:tabn[ext] 轉到下一個標籤頁
:tabo[nly] 關閉所有除了當前標籤頁以外的所有標籤頁
:tabp[revious] 轉到前一個標籤頁
:tabr[ewind] 轉到第一個標籤頁
這是我自己csdn部落格上的整理,拿出來給大家分享一下。
一、大範圍的移動:
* 當游標停留在一個單詞上,* 鍵會在檔案內搜尋該單詞,並跳轉到下一處;
當游標停留在一個單詞上,# 在檔案內搜尋該單詞,並跳轉到上一處;
(/) 移動到 前/後 句 的開始;
{/} 跳轉到 當前/下一個 段落 的開始。
g_ 到本行最後一個不是 blank 字元的位置。
fa 到下一個為 a 的字元處,你也可以fs到下一個為s的字元。
t, 到逗號前的第一個字元。逗號可以變成其它字元。
3fa 在當前行查詢第三個出現的 a。
F/T 和 f 和 t 一樣,只不過是相反方向;
gg 將游標定位到檔案第一行起始位置;
G 將游標定位到檔案最後一行起始位置;
NG或Ngg 將游標定位到第 N 行的起始位置。
在螢幕中找到需要的 一頁 時,可以用下面的命令快速移動游標:
H 將游標移到螢幕上的起始行(或最上行);
M 將游標移到螢幕中間;
L 將游標移到螢幕最後一行。
同樣需要注意字母的大小寫。H 和 L 命令還可以加數字。如 2H 表示將游標移到螢幕的第2行,3L 表示將游標移到螢幕的倒數第3行。
當將游標移到所要的行是,行內移動 游標可以用下面的命令來實現:
w 右移游標到下一個字的開頭;
e 右移游標到一個字的末尾;
b 左移游標到前一個字的開頭;
0 數字0,左移游標到本行的開始;
$ 右移游標,到本行的末尾;
^ 移動游標,到本行的第一個非空字元。
二、搜尋匹配
和許多先進的編輯器一樣,Vim 提供了強大的字串搜尋功能。要查詢檔案中指定字或短語出現的位置,可以用Vim直接進行搜尋,而不必以手工方式進行。搜尋方法是:鍵入字元 / ,後面跟以要搜尋的字串,然後按回車鍵。編輯程式執行正向搜尋(即朝檔案末尾方向),並在找到指定字串後,將游標停到該字串的開頭;鍵入 n 命令可以繼續執行搜尋,找出這一字串下次出現的位置。用字元 ? 取代 / ,可以實現反向搜尋(朝檔案開頭方向)。例如:
/str1 正向搜尋字串 str1;
n 繼續搜尋,找出 str1 字串下次出現的位置;
N 繼續搜尋,找出 str1 字串上一次出現的位置;
?str2 反向搜尋字串 str2 。
Vim常規的刪除命令是 d、 x (前者刪除 行 ,後者刪除 字元 ),結合Vim的其他特性可以實現基礎的刪除功能。將游標定位於檔案內指定位置後,可以用其他字元來替換游標所指向的字元,或從當前游標位置刪除一個或多個字元或一行、多行。例如:
rc 用 c 替換游標所指向的當前字元;
nrc 用 c 替換游標所指向的前 n 個字元;
5rA 用 A 替換游標所指向的前 5 個字元;
四、字串搜尋
在 編輯模式 講過字串的搜尋,此處的 命令模式 也可以進行字串搜尋,給出一個字串,可以透過搜尋該字串到達指定行。如果希望進行正向搜尋,將待搜尋的字串置於兩個/ 之間;如果希望反向搜尋,則將字串放在兩個 ? 之間。例如:
:/str/ 正向搜尋,將游標移到下一個包含字串 str 的行
:?str? 反向搜尋,將游標移到上一個包含字串 str 的行
:/str/w file 正向搜尋,並將第一個包含字串 str 的行寫入 file 檔案
:/str1/,/str2/w file 正向搜尋,並將包含字串 str1 的行至包含字串 str2 的行寫
五、正文替換
利用 :s 命令可以實現字串的替換。具體的用法包括:
:%s/str1/str2/ 用字串 str2 替換行中首次出現的字串 str1
:s/str1/str2/g 用字串 str2 替換行中所有出現的字串 str1
:.,$ s/str1/str2/g 用字串 str2 替換正文當前行到末尾所有出現的字串 str1
:1,$ s/str1/str2/g 用字串 str2 替換正文中所有出現的字串 str1
:g/str1/s//str2/g 功能同上
:m,ns/str1/str2/g 將從m行到n行的str1替換成str2
六、分屏
普通的Vim模式,開啟一個Vim程式只能檢視一個檔案,如果想同時檢視多個檔案,就需要用到Vim分屏與標籤頁功能。
Vim的分屏,主要有兩種方式:上下分屏(水平分屏)和左右分屏(垂直分屏),在命令模式分別敲入以下命令即可:
:split(可用縮寫 :sp) 上下分屏;
:vsplit(可用縮寫 :vsp) 左右分屏。
另外,也可以在終端裡啟動vim時就開啟分屏操作:
vim -On file1 file2... 開啟 file1 和 file2 ,垂直分屏
vim -on file1 file2... 開啟 file1 和 file2 ,水平分屏
理論上,一個Vim視窗,可以分為多個Vim螢幕,切換螢幕需要用鍵盤快捷鍵,命令分別有:
Ctrl+w+h 切換到當前分屏的左邊一屏;
Ctrl+w+l 切換到當前分屏的右邊一屏;
Ctrl+w+j 切換到當前分屏的下方一屏;
Ctrl+w+k 切換到當前分屏的上方一屏。
即鍵盤上的h,j,k,l 四個Vim專用方向鍵,配合Ctrl鍵和w鍵(window的縮寫),就能跳轉到目標分屏。另外,也可以直接按 Ctrl+w+w 來跳轉分屏,不過跳轉方向則是在當前Vim視窗所有分屏中,按照逆時針方向跳轉。
下面是改變尺寸的一些操作,主要是高度,對於寬度你可以使用 [Ctrl+W <] 或是 [Ctrl+W>] ,但這可能需要最新的版本才支援。
Ctrl+W = 讓所有的屏都有一樣的高度;
Ctrl+W + 增加高度;
Ctrl+W - 減少高度。
七、標籤頁
Vim的標籤(Tab)頁,類似瀏覽器的標籤頁,一個標籤頁開啟一個Vim的視窗,一個Vim的視窗可以支援N個分屏。
在Vim中新建一個標籤的命令是:
:tabnew
如果要在新建標籤頁的同時開啟一個檔案,則可以在命令後面直接附帶檔案路徑:
:tabnew filename
Vim中的每個標籤頁有一個唯一的數字序號,第一個標籤頁的序號是0,從左向右依次加一。關於標籤頁有一系列操作命令,簡介如下:
:tN[ext] 跳轉到上一個匹配的標籤
:tabN[ext] 跳到上一個標籤頁
:tabc[lose] 關閉當前標籤頁
:tabdo 為每個標籤頁執行命令
:tabe[dit] 在新標籤頁裡編輯檔案
:tabf[ind] 尋找 "path" 裡的檔案,在新標籤頁裡編輯之
:tabfir[st] 轉到第一個標籤頁
:tabl[ast] 轉到最後一個標籤頁
:tabm[ove] N 把標籤頁移到序號為N位置
:tabnew [filename] 在新標籤頁裡編輯檔案
:tabn[ext] 轉到下一個標籤頁
:tabo[nly] 關閉所有除了當前標籤頁以外的所有標籤頁
:tabp[revious] 轉到前一個標籤頁
:tabr[ewind] 轉到第一個標籤頁