常用vim操作的實(shí)例詳解

本篇是對(duì)常用vim操作的自我總結(jié),大神請(qǐng)回避,適合小白觀看。


vim 打開退出保存

打開:
直接打開 vim practice_1.txt
也可以先打開vim,后:e 文件路徑

保存:
:w 文件名
或者退出保存:wq!

普通模式下退出vim:Shift+zz


vim 移動(dòng)和進(jìn)入插入模式

移動(dòng):
w下一個(gè)單詞
b上一個(gè)單詞

進(jìn)入插入模式
命令 說明
i 在當(dāng)前光標(biāo)處進(jìn)行編輯
I 在行首插入
A 在行末插入
a 在光標(biāo)后插入編輯
o 在當(dāng)前行后插入一個(gè)新行
O 在當(dāng)前行前插入一個(gè)新行
cw 替換從光標(biāo)所在位置后到一個(gè)單詞結(jié)尾的字符


?

vim 選擇模式

v(小寫),進(jìn)入字符選擇模式
Shift+v(小寫),進(jìn)入行選擇模式
Ctrl+v(小寫),這是區(qū)域選擇模式,可以進(jìn)行矩形區(qū)域選擇,
在可視模式下輸入d刪除選取區(qū)域內(nèi)容
在可視模式下輸入y復(fù)制選取區(qū)域內(nèi)容


?

vim行間跳轉(zhuǎn)和行內(nèi)跳轉(zhuǎn)

nG 跳到第n行
gg 第一行
G最后一行
ctrol + o 跳到上一次跳轉(zhuǎn)時(shí)的位置,可以重復(fù)類似history

命令 說明
w 到下一個(gè)單詞的開頭
e 到下一個(gè)單詞的結(jié)尾
b 到前一個(gè)單詞的開頭
ge 到前一個(gè)單詞的結(jié)尾
0或^ 到行頭
$ 到行尾
f 向后搜索并跳轉(zhuǎn)到第一個(gè)匹配的位置(非常實(shí)用)
F 向前搜索并跳轉(zhuǎn)到第一個(gè)匹配的位置
t 向后搜索并跳轉(zhuǎn)到第一個(gè)匹配位置之前的一個(gè)字母(不常用)
T 向前搜索并跳轉(zhuǎn)到第一個(gè)匹配位置之后的一個(gè)字母(不常用)


?

vim復(fù)制粘貼

y復(fù)制
普通模式中,yy復(fù)制游標(biāo)所在的整行(3yy表示復(fù)制3行)
普通模式中,y^ 復(fù)制至行首,或y0。不含光標(biāo)所在處字符。
普通模式中,y$ 復(fù)制至行尾。含光標(biāo)所在處字符。
普通模式中,yw 復(fù)制一個(gè)單詞。
普通模式中,y2w 復(fù)制兩個(gè)單詞。
普通模式中,yG 復(fù)制至文本末。
普通模式中,y1G 復(fù)制至文本開頭。
p粘貼
普通模式中,p(小寫)代表粘貼至光標(biāo)后(下)
普通模式中,P(大寫)代表粘貼至光標(biāo)前(上)
d剪切


?

vim刪除快捷鍵

命令 說明
x 刪除游標(biāo)所在的字符
X 刪除游標(biāo)所在前一個(gè)字符
Delete 同x
dd 刪除整行
dw 刪除一個(gè)單詞(不適用中文)
d$或D 刪除至行尾
d^ 刪除至行首
dG 刪除到文檔結(jié)尾處
d1G 刪至文檔首部

命令之前加數(shù)字表示重復(fù)操作
2dd


?

vim 多文件編輯

vim 1.txt 2.txt
進(jìn)入vim后打開新文件

命令行模式下輸入:e 3.txt 打開新文件3.txt
命令行模式下輸入:e# 回到前一個(gè)文件
命令行模式下輸入:ls可以列出以前編輯過的文檔
命令行模式下輸入:b 2.txt(或者編號(hào))可以直接進(jìn)入文件2.txt編輯
命令行模式下輸入:bd 2.txt(或者編號(hào))可以刪除以前編輯過的列表中的文件項(xiàng)目
命令行模式下輸入:e! 4.txt,新打開文件4.txt,放棄正在編輯的文件
命令行模式下輸入:f 顯示正在編輯的文件名
命令行模式下輸入:f new.txt,改變正在編輯的文件名字為new.txt

如果因?yàn)閿嚯姷仍蛟斐晌臋n沒有保存,可以采用恢復(fù)方式,vim -r進(jìn)入文檔后,輸入:ewcover 1.txt來恢復(fù)
$ vim -r 1.txt


?

vim顯示行號(hào)

:set nu


?

vim替換

r+ 將游標(biāo)所在字母替換為指定字母
R 連續(xù)替換,直到按下Esc
cc 替換整行,即刪除游標(biāo)所在行,并進(jìn)入插入模式
cw 替換一個(gè)單詞,即刪除一個(gè)單詞,并進(jìn)入插入模式
C(大寫) 替換游標(biāo)以后至行末
~ 反轉(zhuǎn)游標(biāo)所在字母大小寫
u{n} 撤銷一次或n次操作
U(大寫) 撤銷當(dāng)前行的所有修改
Ctrl+r redo,即撤銷undo的操作


?

vim 查找

/icmp 向后查找icmp
? tcp 向前查找tcp
n下一個(gè)
N移動(dòng)到上一個(gè)


?

Vim重復(fù)命令

.
也可以輸入數(shù)字在命令前


?

vim 內(nèi)部執(zhí)行外部命令

輸入!
:!ls 用于顯示當(dāng)前目錄的內(nèi)容
:!rm FILENAME用于刪除名為 FILENAME 的文件
:w FILENAME可將當(dāng)前 VIM 中正在編輯的文件另存為 FILENAME 文件


?

vim 文本對(duì)齊

:ce
:ri
:le


?

vim 文檔加密

vim -x file1


?

vim縮進(jìn)

>>
查看設(shè)置:
set shiftwidth?
設(shè)置值:
set shiftwidth=10


?

vim設(shè)置

2.7.1 vim的功能設(shè)定
vim的配置文件~/.vimrc(實(shí)驗(yàn)樓環(huán)境中配置文件在/etc/vim/vimrc),可以打開文件進(jìn)行修改,不過務(wù)必小心不要影響vim正常使用

2.7.2 獲取目前的設(shè)定

命令行模式下輸入:set或者:se顯示所有修改過的配置
命令行模式下輸入:set all 顯示所有的設(shè)定值
命令行模式下輸入:set option? 顯示option的設(shè)定值
命令行模式下輸入:set nooption 取消當(dāng)期設(shè)定值
2.7.3 set功能的說明

命令行模式下輸入:set autoindent(ai) 設(shè)置自動(dòng)縮進(jìn)
命令行模式下輸入:set autowrite(aw) 設(shè)置自動(dòng)存檔,默認(rèn)未打開
命令行模式下輸入:set background=dark或light,設(shè)置背景風(fēng)格
命令行模式下輸入:set backup(bk) 設(shè)置自動(dòng)備份,默認(rèn)未打開
命令行模式下輸入: set cindent(cin) 設(shè)置C語言風(fēng)格縮進(jìn)


?

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享