三種基本模式:打開時默認處於編輯模式
編輯模式:又稱命令模式
輸入模式:insert
末行模式:內置的命令行接口
打開文件:
# vim [OPTION]... FILE...
+#:打開文件之後,光標直接處於第#行行首
若只使用"+",則光標直接到文件尾部
+/PATTERN:打開文件之後,光標處於第一個被PATTERN匹配行的行首
模式轉換:
編輯模式 --> 輸入模式
i:insert 光標之前插入
a:append 光標之後追加
o:open 光標行下打開新行,並進入輸入模式
I:光標所在行行首進行輸入
A:光標所在行行尾進行輸入
O:光標行上打開新行,並進入輸入模式
輸入模式 --> 編輯模式
ESC
編輯模式 --> 末行模式
:
末行模式 --> 編輯模式
ESC
tips:末行模式 & 輸入模式 之間不可直接轉換
關閉文件:
:q 退出
:q! 強制退出,丟棄所有修改
:wq 保存退出
:x 保存退出
:w /PATH/TO/SOMEWHERE 當前文本保存至指定文件,文件可以不存在,但路徑必須存在
光標跳轉:
字符跳轉:
h,j,k,l
k:上
h:左 l:右
j:下
#COMMAND:跳過指定個數的字符
#l,#k
單詞跳轉:
w:下個單詞詞首
b:上個或當前單詞詞首
e:上個或當前單詞詞尾
#COMMAND:跳過指定個數的單詞
#w
行間跳轉:
#G:第#行
G:最後一行
gg/1G:第一行
句間跳轉:
):下句
(:上句
段落跳轉:
{:上段
}:下段
編輯命令:
字符編輯:
x:刪除光標處的單個字符
#x:刪除光標之後的#個字符
xp:交換光標處與其之後字符的位置
替換命令:
r:與x相似
刪除命令:
d:可結合光標跳轉命令,實現範圍刪除
d$,d^,d0
de,dw,db
dd,#dd
粘貼命令:
p:緩衝區存儲的如果爲整行內容,則粘貼到當前所在行的下方,如果爲非整行數,則追加 粘貼至光標之後
P:緩衝區存儲的如果爲整行內容,則粘貼到當前所在行的上方,如果爲非整行數,則插入 粘貼至光標之前
複製命令:
y:與d相似
改變命令:
c:刪除光標字符,並直接進入輸入模式
使用方式與d相同
其他命令:
可視化模式:
v:按照字符選定
V:按行選定
結合編輯命令使用範圍選定
撤銷:
u:撤銷未保存的編輯,默認爲15次操作
#u:指定撤銷次數
恢復此前的撤銷:
ctrl+r
重複前一次編輯操作:
.
翻屏操作:
crtl+f:向尾部翻一屏
crtl+b:向首部翻一屏
crtl+d:向尾部翻半屏
crtl+u:向首部翻半屏
末行模式:
(1)地址定界
:start,end
#: #,#: #,{+/-}#:
.:當前行 $:最後一行 %:全文
/PAT1/,/PAT2/:
使用方式:後跟編輯命令
d,y,w /PATH/TO/SOMEFILE
(2)查找
/pattern 向尾部查找該pattern
?pattern 向首部查找該pattern
n:與命令相同方向查找匹配的對象
N:與命令相反方向查找匹配的對象
(3)查找並替換
s/查找/替換/修飾符
多文件模式:打開文件時使用{ }展開
末行模式中互相切換:
:next 下一個
:prev 上一個
:last 最後一個
:first第一個
:wall 保存所有
:qall 退出所有
窗口分割模式:
vim -o{O} file1 file2
-o:水平分割
-O:垂直分割
切換:
ctrl+w,arrow
單文件窗口分割
ctrl+w,s:水平分割
ctrl+w,v:垂直分割
vim的工作特性:
配置文件:
全局: /etc/vimrc
個人:~/.vimrc 默認不存在,需要創建
(1) 行號
顯示:set number,末行模式簡寫爲:set nu
取消:set nonumber,set nonu
(2) 括號匹配
匹配:set showmatch,set sm
取消:set nosm
(3) 自動縮進
縮進:set ai
禁用:set noai
(4) 高亮搜索
啓用:set hlsearch
禁用:set nohlsearch
(5) 語法高亮
啓用:syntax on
關閉:syntax off
(6) 忽略字符大小寫
忽略:set ic
不忽:set noic