1. 關(guān)于vim
vim是vi的升級版本,在vi的基礎(chǔ)之上增加了語法高亮,多級撤銷等功能。Vim的主要理念是:命令使用按鍵各種組合,很多快捷鍵,并且專門設(shè)計使得程序員手一直在鍵盤上
2. 三種模式切換
vim中有三種模式: 編輯模式(主要用于在文件中移動光標(biāo)),輸入模式(主要是插入修改文本),命令模式(輸入命令)
編輯模式 進(jìn)入 輸入模式:
i:在光標(biāo)前插入
a:在光標(biāo)后插入
o:在光標(biāo)下方打開一個新行
I:在光標(biāo)所在的行首插入
A:在光標(biāo)所在的行尾輸入
O:在光標(biāo)的上方打開一個新行
輸入模式 退回 編輯模式:
ESC
編輯模式 進(jìn)入 底線模式:
按 : 鍵
底線模式 退回 編輯模式:
ESC
3. Vim打開文件命令
vim [options] [file...]
+#:打開文件后,直接讓光標(biāo)處于第#行的行首
+/PATTERN:打開文件后,直接讓光標(biāo)處于第一個被PATTERN匹配到的行的行首
4. 關(guān)于編輯模式
- 移動光標(biāo)
k 上
j 下
h 左
l 右
w 下一個單詞詞首
e 下一個單詞詞尾
b 前一個單詞詞首
^ 跳轉(zhuǎn)至行首第一個非空白字符
0 跳轉(zhuǎn)至行首
$ 跳轉(zhuǎn)至行尾
#G 跳轉(zhuǎn)至#行
G 最后一行
) 下一句
( 上一句
} 下一段
{ 上一段
- 大范圍移動
ctrl + f 前移一頁
ctrl + b 后移一頁
H 移動到屏幕最上
M 中間
L 最后
- 編輯命令
x 刪除光標(biāo)所在處的字符
r 替換光標(biāo)所在處的字符
dd 刪除一行
p 粘貼命令(如果緩沖區(qū)的內(nèi)容為整行,則粘貼在當(dāng)前光標(biāo)所在行的上方,否則,則粘貼至當(dāng)前光標(biāo)所在處的前方)
yy 復(fù)制一整行(可結(jié)合光標(biāo)跳轉(zhuǎn)范圍復(fù)制)
#yy 復(fù)制#行
cw 刪除該詞并自動轉(zhuǎn)換為輸出模式
c$ c^ c0
cc 刪除所在行并轉(zhuǎn)換為輸出模式
u 撤銷此前操作 或 ctrl +r
. 重復(fù)前一個編輯動作
v 可視化模式 一個字符一個字符選
V 可視化模式一行一行選
ZZ 文件如果已編輯,把內(nèi)存緩沖區(qū)的數(shù)據(jù)會寫到啟動vim時指定的文件里,然后退出vim,無需加: 和回車
5. 關(guān)于命令模式
- 搜索匹配
/str1 正向搜索 str1
n 繼續(xù)搜索下一個str1位置
N 繼續(xù)搜索上一個位置
?str2 反向搜索
- 保存和退出
:e path_to_file/filename
:w 保存
:wq 保存并退出
:q 退出
:q! 放棄所有修改并退出
:n 光標(biāo)移動到n行
:128w file 將128行寫入file這個文件中
:2,33w file 從第2行開始到第3行,寫入file文件
:.,.+5w file 從當(dāng)前行開始到之后五行的內(nèi)容寫入file
:w file將文件全部寫入file文件內(nèi)
- 選項設(shè)置
:set option 設(shè)置選項 option
autoindent 自動縮進(jìn)
ignorecase 忽略表達(dá)式中大小寫字母
number 顯示行號
ruler 在屏幕底下顯示光標(biāo)所在行和列位置
tabstop 設(shè)置tab=n, n默認(rèn)為8,按tab跳過的空格數(shù)
mk 將選項保存在當(dāng)前目錄的.exrc文件中
- 替換功能
:s/old/new //用new替換行中首次出現(xiàn)的old
:s/old/new/g //用new替換行中所有的old
:n,m s/old/new/g //用new替換從n到m行里所有old
:%s/old/new/g //用new替換當(dāng)前文件里所有的old