
2.vim是什么?
Vim——編輯器之神
Vim的核心設計思想:讓手指始終保持在鍵盤的核心區域,就能完成所有編輯操作
3.3種工作模式
1.命令模式:定位、翻頁、復制、粘貼、刪除
2.編輯模式
3.命令行模式
命令 |
英文 |
功能 |
---|---|---|
w |
write |
保存 |
q |
quit |
退出,如果沒有保存,不允許退出 |
q! |
quit |
強制退出,不保存退出 |
wq |
write & quit |
保存並退出 |
x |
保存並退出 |
4.常用命令
路線圖
1.重復次數
在命令模式下,先輸入一個數字,在跟上一個命令,可以讓命令重復執行指定次數
2.移動和選擇
1)vim之所以快,關鍵在於能夠快速定位到要編輯的命令行
2)移動命令能夠和編輯操作 組合使用
3.編輯命令
刪除、復制、粘貼、替換、縮排
4.撤銷和重復
5.查找替換
6.編輯
4.1移動(基本)
熟練使用vim,首先應䧥怎么在命令模式下快速移動光標
編輯操作命令能夠和移動命令一起使用
1)上下左右
hjkl
2)行內移動
命令 |
英文 |
功能 |
---|---|---|
w |
word |
向后移動一個單詞 |
b |
back |
向前移動一個單詞 |
0 |
行首 |
|
^ |
行首,第一個不是空白字符的位置 |
|
$ |
行尾 |
3)行數移動
命令 |
英文 |
功能 |
---|---|---|
gg |
go |
文件頂部 |
G |
go |
文件末尾 |
數字gg |
移動到數字對應行數 |
|
數字G |
移動到數字對應行數 |
|
:數字 |
移動到數字對應行數 |
4)屏幕移動
命令 |
英文 |
功能 |
---|---|---|
Ctrl + b |
back |
向上翻頁 |
Ctrl + f |
forward |
向下翻頁 |
H |
head |
屏幕頂部 |
M |
middle |
屏幕中間 |
L |
low |
屏幕底部 |
4.2移動(程序員常用)
1)段落移動
命令 |
功能 |
---|---|
{ |
上一段 |
} |
下一段 |
注:vim中使用空行來區分段落
2)括號切換
命令 |
功能 |
---|---|
% |
括號匹配及切換 |
3)標記
命令 |
英文 |
功能 |
---|---|---|
mx |
mark |
添加標記x,x是a-x或者A-Z之間的任意一個字符 |
'x ('是單引號) |
直接定位到標記x所在位置 |
主:添加了標記的行被刪除,標記同時被刪除;添加相同標記后,之前的標記會被替換掉
4.3選中文本(可視模式)
命令 |
模式 |
功能 |
---|---|---|
v |
可視模式 |
從光標位置開始按正常模式選擇文本 |
V |
可視行模式 |
選中光標經過的完整行 |
Ctrl + v |
可視塊模式 |
垂直方向選中文本 |
注:可視模式下,可以和移動命令連用,如:ggVG能夠選中所有內容
4.4撤銷和恢復
命令 |
英文 |
功能 |
---|---|---|
u |
undo |
撤銷上次命令 |
Ctrl + r |
redo |
恢復撤銷的命令 |
4.5刪除文本
命令 |
英文 |
功能 |
---|---|---|
x |
cut |
刪除光標所在字符 |
d(移動命令) |
delete |
刪除移動命令對應的內容 |
dd |
delete |
刪除光標所在行,可以ndd剪切多行 |
D |
delete |
刪除至行尾 |
刪除命令可以和移動命令連用,以下是常見的組合命令
dw,d0,d},ndd,d代碼行G,d'a
4.6復制和粘貼
命令 |
英文 |
功能 |
---|---|---|
y(移動命令) |
copy |
復制 |
yy |
copy |
復制一行,nyy復制多行 |
p |
paste |
粘貼 |
4.7替換
命令 |
英文 |
功能 |
模式 |
---|---|---|---|
r |
replace |
替換當前字符 |
命令模式 |
R |
replace |
替換當前行光標后的字符 |
替換模式 |
R可以進入替換模式,替換完成后,ESC回到命令模式
4.8縮排和重復執行
命令 |
功能 |
---|---|
>> |
向右添加縮進(添加4個空格) |
<< |
向左減少縮進(減少4個空格) |
. |
重復上次命令 |
可視模式下,縮進命令只需要使用>或<
4.9查找
常規查找
命令 |
功能 |
---|---|
/str |
查找str |
n:查找下一個
N:查找上一個
單詞快速匹配(光標所在位置為一個單詞)
命令 |
功能 |
---|---|
* |
向前查找當前光標所在單詞 |
# |
向后查找當前光標所在單詞 |
在開發中,通過單詞快速匹配,可以快速看到這個單詞在其他什么位置使用過
4.10查找並替換
命令格式為(:%s ///g)
1)全局替換
:%s /old/new/g
2)可視區域替換
-
先使用可視模式選中替換文字的范圍
-
:s /old/new/g
3)確認替換
:%s /old/new/gc
4.11插入命令
命令 |
英文 |
功能 |
---|---|---|
i |
insert |
在當前字符前插入 |
I |
insert |
在當前行頭插入 |
a |
append |
在當前字符后追加 |
A |
append |
在當前行尾追加 |
o |
open a new line |
在當前行下插入空行 |
O |
open a new line |
在當前行上插入空行 |
演練1:編輯命令和數字的連用
如何快速連續輸入N個字符?
比如:******************(10個*)
1)輸入10,表示重復10次
2)i進入編輯模式
3)輸入*,也就是重復的文字
4)ESC回到普通模式,然后vim會將2,3步重復10次。
5.分屏命令
5.1命令行模式擴展
命令 |
英文 |
功能 |
---|---|---|
:e . |
edit |
會打開內置的文件瀏覽器,瀏覽當前目錄下的文件 |
:n |
new |
新建文件 |
:w |
write |
另存為,仍然編輯當前文件,並不會切換文件 |
5.2分屏命令
命令 |
英文 |
功能 |
---|---|---|
:sp [文件名] |
split |
橫向增加分屏 |
:vsp [文件名] |
vertical split |
縱向增加分屏 |
1)切換分屏窗口
分屏命令都是基於CTRL + W這個快捷鍵的,W即Window。
然后再按下面命令
命令 |
英文 |
功能 |
---|---|---|
w |
window |
切換到下一個窗口 |
r |
reverse |
互換窗口 |
c |
close |
關閉當前窗口,但是不能關閉最后一個窗口 |
q |
quit |
退出當前窗口,如果是最后一個窗口,則關閉vim |
o |
other |
關閉其他窗口 |