更新時(shí)間:2020-12-29 17:51:22 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1351次
Vim是 Unix/Linux 系統(tǒng)最好的文本編輯器,它的強(qiáng)大不遜色于任何最新的文本編輯器,由于對(duì)Unix及Linux系統(tǒng)的任何版本,Vim編輯器是完全相同的,因此Vim命令也是相同的。但對(duì)于一些Linux系統(tǒng)的初級(jí)使用者來(lái)說(shuō)還是有一定的操作難度的。為了普及大家對(duì)Linux Vim編輯器的使用,本文我們來(lái)詳細(xì)地介紹各種Linux Vim命令,幫助我們快速上手Vim編輯器。
1.模式
命令模式(Command mode)
首次啟動(dòng) vim,便是命令模式
輸入模式時(shí)候,按 ESC 進(jìn)入
輸入模式(Insert mode)
按 i 、o、a 鍵進(jìn)入
窗口左下角有 -- INSERT -- 的字樣
底線命令模式(Last line mode):在命令模式下按下 : (英文冒號(hào))
2.文件操作
vim a.txt 打開或新建文件,并將光標(biāo)置于第一行首
vim a.txt b.txt 編輯多個(gè)文件
vim +n a.txt 打開文件,并將光標(biāo)置于第 n 行首(n 為數(shù)字)
vim + a.txt 打開文件,并將光標(biāo)置于最后一行首
vim +/pattern a.txt 打開文件,并將光標(biāo)置于第一個(gè)與 pattern 匹配的字符串處
vim -r a.txt 在上次正用 vim 編輯時(shí)發(fā)生系統(tǒng)崩潰,恢復(fù)文件
:e <path/to/file> 打開一個(gè)文件
:e! 放棄修改,重新載入該文件
:q 退出 vim
:q! 退出不保存, :qa! 強(qiáng)行退出所有正在編輯的文件(即使有修改)
:w 保存當(dāng)前文件
:wq , ZZ 保存退出
:saveas <path/to/file>, :w <path/to/file>另存為
:bn 和 :bp 當(dāng)同時(shí)打開多個(gè)文件,使用這兩個(gè)命令來(lái)上下切換文件
:r <path/to/file> 把 <path/to/file> 文件內(nèi)容插入「光標(biāo)」所在行后面
:! <command> 暫時(shí)離開 vim 到指令行模式下執(zhí)行 command 的顯示結(jié)果
:r ! <command> 將命令 command 的輸出結(jié)果插入「光標(biāo)」所在行后面
3.光標(biāo)操作
h, j, k, l 相當(dāng)于鍵盤 ← ↓ ↑ → 移動(dòng)一個(gè)字符
nh, nj, nk, nl 則按對(duì)應(yīng)方向移動(dòng) n 個(gè)字符
n回車鍵 向下移動(dòng) n 行
H, M, L 光標(biāo)移至「屏幕」的 頂行 中間行 尾行
當(dāng)前行:
0, $ 到 行頭, 行尾
w, e, b 對(duì)應(yīng)向 右, 右, 左 移動(dòng)一個(gè)單詞(首/尾)
fa, 3fa 到 第一, 第三 個(gè)為 a 的字符處, fb, fs 等以此類推,F(xiàn) 相反方向
ta, 3ta 到 第一, 第三 個(gè)為 a 的前字符處, tb, ts 等以此類推,T 相反方向
10空格鍵 向后面移動(dòng) 10 個(gè)字符
整個(gè)內(nèi)容
gg, G 到內(nèi)容 頂部 尾部
10G 移動(dòng)到內(nèi)容的第 10 行
段落
{, } 移動(dòng)到段落的 開頭 結(jié)尾
(, ) 移動(dòng)到句子的 開頭 結(jié)尾
4.屏幕操作
翻頁(yè):ctrl+f, ctrl+d 屏幕對(duì)應(yīng)向 下 下 移動(dòng) 一頁(yè) 半頁(yè)
翻頁(yè):ctrl+b, ctrl+u 屏幕對(duì)應(yīng)向 上 上 移動(dòng) 一頁(yè) 半頁(yè)
翻行:ctrl+e, ctrl+y 屏幕對(duì)應(yīng)向 上 下 移動(dòng)一行
5.窗口操作
:split 分割一個(gè)窗口
:split a.c 為另一個(gè)文件 a.c 分隔窗口
:n split a.c 為另一個(gè)文件 a.c 分隔窗口,光標(biāo)移至 n 行
ctrl+w 窗口切換
:close 關(guān)閉當(dāng)前窗口
6.文本操作
插入
i, I 對(duì)應(yīng)在光標(biāo)前, 當(dāng)前行首 插入
a, A 對(duì)應(yīng)在光標(biāo)后, 當(dāng)前行尾 插入
o, O 對(duì)應(yīng)在當(dāng)前行之下, 上 新開一行插入
r 替換當(dāng)前字符
R 替換當(dāng)前字符及其后的字符,直至按 ESC 鍵
刪除
s 刪除光標(biāo)所在字符,然后進(jìn)入輸入模式
S, cc刪除光標(biāo)所在行,然后進(jìn)入輸入模式
x, X 對(duì)應(yīng)向 后, 前 刪除一個(gè)字符
10cw 刪除 10 個(gè)字符,然后進(jìn)入輸入模式
dnh, dnl 向 左, 右 刪除 n 個(gè)字符
dw 刪除一個(gè)單詞(刪除光標(biāo)位置到下一個(gè)單詞開始的位置)
dnw 刪除 n 個(gè)單詞
nC 刪除當(dāng)前行及其后 n-1 行,然后進(jìn)入輸入模式
dd 刪除一行
d$, do 刪至行尾, 行首(n
ndd 刪除 n 行(從當(dāng)前行算起)
:n1, n2 d 刪除 n1 行到 n2 行之間的內(nèi)容
dnj, dnk 向 下, 上 刪除 n 行
J 刪除行尾的換行符
搜索
/word, ?word 當(dāng)前行向下, 上 尋找一個(gè)名稱為 word 的字符串
n, N 向下, 上 重復(fù)前一個(gè)搜尋的動(dòng)作
:n1,n2 s/word1/word2/g n1 與 n2 為數(shù)字。在第 n1 與 n2 行之間尋找 word1 這個(gè)字符串,并將該字符串取代為 word2
:%s/word1/word2/g 全文尋找 word1 字符串,并將該字符串取代為 word2
:%s/word1/word2/gc 全文尋找 word1 字符串,并將該字符串取代為 word2,取代前需確認(rèn)提示
復(fù)制/粘貼
yy 復(fù)制當(dāng)前行
nyy 復(fù)制當(dāng)前行向下 n 行(20yy:復(fù)制 20 行)
y1G 復(fù)制當(dāng)前行到首行的所有數(shù)據(jù)
yG 復(fù)制當(dāng)前行到尾行的所有數(shù)據(jù)
y0 復(fù)制光標(biāo)所在的那個(gè)字符到該行行首的所有數(shù)據(jù)
y$ 復(fù)制光標(biāo)所在的那個(gè)字符到該行行尾的所有數(shù)據(jù)
p, P 粘貼至當(dāng)前行的下一行, 上一行
np 粘貼文本 n 次
:n1,n2 co n3 n1~n2行的內(nèi)容拷貝到第 n3 行下
:n1,n2 m n3 n1~n2行的內(nèi)容移至到第 n3 行下
撤銷/重做
u 復(fù)原前一個(gè)動(dòng)作
ctrl+r 重做上一個(gè)動(dòng)作
. 重復(fù)前一個(gè)動(dòng)作
自動(dòng)提示
ctrl+n 或 ctrl+p,在 insert 模式下
未輸入,則有提示菜單
輸入一個(gè)詞的開頭,則可自動(dòng)補(bǔ)齊功能
7.Visual 模式
v 進(jìn)入 -- VISUAL -- 模式
V 進(jìn)入 -- VISUAL LINE -- 模式
塊操作(批量插入字符)
ctrl + v 進(jìn)入塊選擇模式
移動(dòng)光標(biāo)選中需要操作的行
大寫的 I 進(jìn)入「行首」插入模式輸入 (如果批量刪除,可以按 d)
輸入完,按兩下ESC
8.行方式命令
即底線命令模式,列一些常用命令:
:n1,n2 co n3 n1~n2行的內(nèi)容拷貝到第 n3 行下
:n1,n2 m n3 n1~n2行的內(nèi)容移至到第 n3 行下
:n1,n2 d 刪除 n1 行到 n2 行之間的內(nèi)容
:n1,n2 w!command 將文件中 n1 行至 n2 行的內(nèi)容作為 command 的輸入并執(zhí)行之
:n1,n2/^/注釋符/g n1~n2 行加注釋符, 例如::10,20s#^#//#g 在 10~20 行添加 // 注釋
:n1,n2/^注釋符//g n1~n2 取消注釋符, 例如::10,20s#^//##g 在 10~20 行取消 // 注釋
9.宏
q[a-z] 把操作記錄在寄存器 [a-z](命名),q 停止錄制
@[a-z] 在當(dāng)前光標(biāo)處執(zhí)行宏[a-z]
@@ 在當(dāng)前光標(biāo)處執(zhí)行最新錄制的宏
reg 顯示當(dāng)前定義的所有的宏
例子:
vim a.txt 新建 a.txt, 寫入 1
qa 開始錄制
Yp 復(fù)制行
ctrl+a 增加 1
q 停止錄制
@a 1 下面寫下 2
@@ 2 下面寫下 3
10@@ 創(chuàng)建新的 10 行,并把數(shù)據(jù)增加到 13.
10.配置
配置文件在 /usr/share/vim/vimrc,這是系統(tǒng)級(jí)的 vimrc 配置文件,為了保證 vim 的正常運(yùn)行,一般并不會(huì)修改這個(gè)文件,而是應(yīng)該在自己的用戶目錄下(~ 下)創(chuàng)建一個(gè)新的用戶級(jí) vimrc 文件。
底線命令模式
:set ruler,set noruler 顯示/不顯示標(biāo)尺
:set hlsearch 高亮顯示查找到的單詞
:set nohlsearch 關(guān)閉高亮顯示
:syntax on 語(yǔ)法高亮
:set nu 顯示行號(hào)
:set nonu 不顯示行號(hào)
:set ignorecase 搜索時(shí)忽略大小寫
:set smartcase 搜索時(shí)匹配大小寫
:set ruler 顯示光標(biāo)位置坐標(biāo)
:set hlsearch 搜索匹配全高亮
:set tabstop=8 設(shè)置tab大小,8為最常用最普遍的設(shè)置
:set softtabstop=8 4:4個(gè)空格,8:正常的制表符,12:一個(gè)制表符4個(gè)空格,16:兩個(gè)制表符
:set autoindent 自動(dòng)縮進(jìn)
:set cindent C語(yǔ)言格式里面的自動(dòng)縮進(jìn)
了解并掌握l(shuí)inux Vim命令是掌握并熟練運(yùn)用vim編輯器的必要途徑。以上Linux系統(tǒng)中Vim編輯器的各種命令的詳細(xì)介紹,為大家一一羅列了出來(lái),希望能夠?qū)Τ跤肔inux系統(tǒng)的小伙伴起到幫助,能夠快速掌握的小伙伴也不要驕傲哦,在本站的Linux教程中還有許多精彩的Linux知識(shí)等你來(lái)學(xué)哦。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743