1.vim介紹
vim編輯器有三種模式:
命令模式、編輯模式、末行模式
模式間切換方法:
(1)命令模式下,輸入:
后,進入末行模式
(2)末行模式下,按esc
慢退、按兩次esc
快退、或者刪除所有命令,可以回到命令模式
(3)命令模式下,按下i
、a
等鍵,可以計入編輯模式
(4)編輯模式下,按下esc
,可以回到命令模式
vim打開文件:
Vi 使用的選項 | 說 明 |
---|
vim filename | 打開或新建一個文件,并將光標置于第一行的首部 |
vim -r filename | 恢復(fù)上次 vim 打開時崩潰的文件 |
vim -R filename | 把指定的文件以只讀方式放入 Vim 編輯器中 |
vim + filename | 打開文件,并將光標置于最后一行的首部 |
vi +n filename | 打開文件,并將光標置于第 n 行的首部 |
vi +/pattern filename | 打幵文件,并將光標置于第一個與 pattern 匹配的位置 |
vi -c command filename | 在對文件進行編輯前,先執(zhí)行指定的命令 |
2.命令模式
快捷鍵 | 功能描述 |
---|
jkhl | 基本上下左右 |
gg | 光標移動到文檔首行 |
G | 光標移動到文檔尾行 |
^或_ | 光標移動到行首第一個非空字符 |
home鍵或0或者g0 | 光標移動到行首第一個字符 |
g_ | 光標移動到行尾最后一個非空字符 |
end或
或者
g
或者g
或者g | 光標移動到行尾最后一個字符 |
gm | 光標移動到當前行中間處 |
b/B | 光標向前移動一個單詞(大寫忽略/-等等特殊字符) |
w/W | 光標向后移動一個單詞(大寫忽略/-等等特殊字符) |
e/E | 移到單詞結(jié)尾(大寫忽略/-等等特殊字符) |
ctrl+b或pageUp鍵 | 翻屏操作,向上翻 |
ctrl+f或pageDn鍵 | 翻屏操作,向下翻 |
數(shù)字+G | 快速將光標移動到指定行 |
`. | 移動到上次編輯處 |
數(shù)字+上下方向鍵 | 以當前光標為準,向上/下移動n行 |
數(shù)字+左右方向鍵 | 以當前光標為準,向左/右移動n個字符 |
H | 移動到屏幕頂部 |
M | 移動到屏幕中間 |
L | 移動到屏幕尾部 |
z+Enter鍵 | 當前行在屏幕頂部 |
z+ . | 當前行在屏幕中間 |
z+ - | 當前行在屏幕底部 |
shift+6 | 光標移動到行首 |
shift+4 | 光標移動到行尾 |
- | 移動到上一行第一個非空字符 |
+ | 移動到下一行第一個非空字符 |
) | 向前移動一個句子 |
( | 向后移動一個句子 |
} | 向前移動一個段落 |
{ | 向前移動一個段落 |
count l | 移動到count 列 |
counth | 向左移動count 字符 |
countl | 向右移動count字符 |
countgo | 移動到count字符 |
2.選中內(nèi)容
快捷鍵 | 功能描述 |
---|
v | 進行字符選中 |
V 或shift+v | 進行行選中 |
gv | 選中上一次選擇的內(nèi)容 |
o | 光標移動到選中內(nèi)容另一處結(jié)尾 |
O | 光標移動到選中內(nèi)容另一處角落 |
ctr + V | 進行塊選中 |
3.復(fù)制(配合粘貼命令p使用)
快捷鍵 | 功能描述 |
---|
y | 復(fù)制已選中的文本到剪貼板 |
n+yy | 復(fù)制光標所在行,此命令前可以加數(shù)字 n,可復(fù)制多行 |
yw | 復(fù)制光標位置的單詞 |
ctrl+v + 方向鍵+yy | ctrl+v,并按方向鍵選中區(qū)塊,按下yy復(fù)制 |
4.剪切
快捷鍵 | 功能描述 |
---|
dd | 剪切光標所在行 |
數(shù)字+dd | 以光標所在行為準(包含當前行),向下剪切指定行數(shù) |
D | 剪切光標所在行 |
5.粘貼
快捷鍵 | 功能描述 |
---|
p | 將剪貼板中的內(nèi)容粘貼到光標后 |
P(大寫) | 將剪貼板中的內(nèi)容粘貼到光標前 |
6.刪除
快捷鍵 | 功能描述 |
---|
x | 刪除光標所在位置的字符 |
X(大寫) | 刪除光標前一個字符 |
dd | 刪除光標所在行,刪除之后,下一行上移 |
D | 刪除光標位置到行尾的內(nèi)容,刪除之后,下一行不上移 |
ndd | 刪除當前行(包括此行)后 n 行文本 |
dw | 移動光標到單詞的開頭以刪除該單詞 |
dG | 刪除光標所在行一直到文件末尾的所有內(nèi)容 |
:a1,a2d | 刪除從 a1 行到 a2 行的文本內(nèi)容 |
7.撤銷/恢復(fù)
快捷鍵 | 功能描述 |
---|
u | 撤銷 |
ctrl+r | 恢復(fù) |
U(大寫) | 撤銷所有編輯 |
8.字符轉(zhuǎn)換
快捷鍵 | 功能描述 |
---|
~ | 轉(zhuǎn)換大小寫 |
u | 變成小寫 |
U | 變成大寫 |
9.編輯命令的快捷鍵
快捷鍵 | 功能描述 |
---|
↑或ctr + p | 上一條命令 |
↓或ctr + n | 下一條命令 |
ctr + b | 移動到命令行開頭 |
ctr + e | 移動到命令行結(jié)尾 |
ctr + ← | 向左一個單詞 |
ctr + → | 向右一個單詞 |
3.末行模式(: xxx命令)
1.保存/退出文件操作
命令 | 功能描述 |
---|
:wq | 保存并退出 Vim 編輯器 |
:wq! | 保存并強制退出 Vim 編輯器 |
:q | 不保存就退出 Vim 編輯器 |
:q! | 不保存,且強制退出 Vim 編輯器 |
:w | 保存但是不退出 Vim 編輯器 |
:w! | 強制保存文本 |
:w filename | 另存到 filename 文件 |
x! | 保存文本,并退出 Vim 編輯器 |
ZZ | 直接退出 Vim 編輯器 |
2.查找:“/關(guān)鍵詞”
在查找結(jié)果中,用N
、n
可以切換上下結(jié)果;輸入nohl
,可以取消高亮
快捷鍵 | 功能描述 |
---|
/abc | 從光標所在位置向前查找字符串 abc |
/^abc | 查找以 abc 為行首的行 |
/abc$ | 查找以 abc 為行尾的行 |
?abc | 從光標所在位置向后查找字符串 abc |
n或; | 向同一方向重復(fù)上次的查找指令 |
N或, | 向相反方向重復(fù)上次的查找指定 |
3.替換
快捷鍵 | 功能描述 |
---|
r | 替換光標所在位置的字符 |
R | 從光標所在位置開始替換字符,其輸入內(nèi)容會覆蓋掉后面等長的文本內(nèi)容,按“Esc”可以結(jié)束 |
:s/a1/a2 | 替換當前光標所在行第一處符合條件的內(nèi)容 |
:s/a1/a2/g | 替換當前光標所在行所有的 a1 都用 a2 替換 |
:%s/a1/a2 | 替換所有行中,第一處符合條件的內(nèi)容 |
:%s/a1/a2/g | 替換所有行中,所有符合條件的內(nèi)容 |
:n1,n2 s/a1/a2 | 將文件中 n1 到 n2 行中第一處 a1 都用 a2 替換 |
:n1,n2 s/a1/a2/g | 將文件中 n1 到 n2 行中所有 a1 都用 a2 替換 |
4.行號顯示:“: set nu”;
- 行號顯示
:set nu
- 取消行號顯示:
:set nonu
5.文件切換
使用vim打開多個文件后,在末行模式下可以進行切換。
- 查看當前已經(jīng)打開的所有文件:
:files
(%a表示激活狀態(tài),#表示上一個打開的文件) - 切換到指定文件:
:open 文件名
- 切換到上一個文(back previous):
:bp
- 切換到下一個文件(back next):
:bn
4.編輯模式
快捷鍵 | 功能描述 |
---|
i | 在當前光標所在位置插入,光標后的文本相應(yīng)向右移動 |
I | 在光標所在行的行首插入,行首是該行的第一個非空白字符,相當于光標移動到行首執(zhí)行 i 命令 |
o | 在光標所在行的下插入新的一行。光標停在空行首,等待輸入文本 |
O(大寫) | 在光標所在行的上插入新的一行。光標停在空行的行首,等待輸入文本 |
a | 在當前光標所在位置之后插入 |
A | 在光標所在行的行尾插入,相當于光標移動到行尾再執(zhí)行 a 命令 |
esc鍵 | 退出編輯模式 |
5.擴展
1.代碼顏色顯示:“:syntax on/off”
2.vim內(nèi)置計算器:
a.進入編輯模式
b.按“ctrl+r
,光標變成引號,,輸入=
,光標轉(zhuǎn)到最后一行
c.輸入需要計算的內(nèi)容,按下enter后,計算結(jié)果回替代上一步中的引號,光標恢復(fù)
3.vim的配置
a.文件打開時,末行模式下輸入的配置為臨時配置,關(guān)閉文件后配置無效
b.修改個人配置文件,可以永久保存?zhèn)€人配置(~/.vimrc,如果沒有可以自行創(chuàng)建)
c.修改全局配置文件,對每個用戶生效(vim自帶,/etc/vimrc)
注:個人配置文件優(yōu)先級更高,當個人配置和全局配置發(fā)生沖突時,系統(tǒng)以當前用戶的個人配置文件為準
4.異常退出
在編輯文件后,未正常保存退出時,會產(chǎn)生異常退出交換文件(.原文件名.swp)
將交換文件刪除后,再次打開文件時,無提示:“#rm -f .原文件名.swp”
5.別名機制:自定義指令
Linux中,存在一個別名映射文件: ~/.bashrc
修改文件內(nèi)容,可以自定義指令,重新登錄賬號后生效
6.文件快捷方式
對于深層文件,可以創(chuàng)建文件快捷方式,便于后續(xù)操作:#ln -s 源路徑 新路徑
7. 退出方式
(1)在vim中退出文件編輯模式,可以使用:q
或者:wq
(2)建議使用:x
:使用效果等同于wq
,如果文件有改動則先保存后退出;但是如果文件沒有做修改,會直接退出,不會修改文件更新時間,避免用戶混淆文件的修改時間
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。