1.命令模式 --> 插入模式
i insert, 在光標所在處輸入
I 在當前光標所在行的行首輸入
a append, 在光標所在處後面輸入
A 在當前光標所在行的行尾輸入
o 在當前光標所在行的下方打開一個新行
O 在當前光標所在行的上方打開一個新行
2.插入模式 --------> 命令模式
ESC3.命令模式 --------> 擴展命令模式
:4.擴展命令模式 --------> 命令模式
ESC,enter
u 撤銷最近的更改
#u 撤銷之前多次更改
U 撤消光標落在這行後所有此行的更改
Ctrl - r 重做最後的“撤消”更改
. 重複前一個操作
#. 重複前一個操作#次
7. 命令模式
1.100iwang [ESC] 粘貼“wang”100次
2.<start position><command><end position>3.常見Command
y 複製、d 刪除、gU 變大寫、gu 變小寫
例如: 0y$ 命令
0 → 先到行頭
y → 從這裏開始拷貝
$ → 拷貝到本行最後一個字符
4.di" 光標在”“之間,則刪除”“之間的內容
5.yi(光標在()之間,則複製()之間的內容
6.vi[ 光標在[]之間,則選中[]之間的內容
7.dtx 刪除字符直到遇見光標之後的第一個 x 字符
8.ytx 複製字符直到遇見光標之後的第一個 x 字符
四、擴展命令模式
1. 擴展命令模式
1.按“:”進入Ex模式
2.創建一個命令提示符: 處於底部的屏幕左側
3.常見命令
w 寫(存)磁盤文件
wq 寫入並退出
x 寫入並退出
q 退出
q! 不存盤退出,即使更改都將丟失
r filename 讀文件內容到當前文件中
w filename 將當前文件內容寫入另一個文件
!command 執行命令
r!command 讀入命令的輸出
2. 擴展命令模式:地址定界
1.地址定界
:start_pos,end_pos
# 具體第#行,例如2表示第2行
#,# 從左側#表示起始行,到右側#表示結尾行
#,+# 從左側#表示的起始行,加上右側#表示的行數
示例:2,+3 表示2到5行
. 當前行
$ 最後一行
.,$-1 當前行到倒數第二行
% 全文, 相當於1,$
2./pattern/ 匹配pattern的行
3./pat1/,/pat2/
從第一次被pat1模式匹配到的行開始,一直到第一次被pat2匹配到的行結束
#,/pat//pat/,$
4.使用方式:後跟一個編輯命令
d
y
w file: 將範圍內的行另存至指定文件中
r file:在指定位置插入指定文件中的所有內容
3. 擴展命令模式:查找並替換
1.在擴展命令模式下完成查找替換操作
格式:s/要查找的內容/替換爲的內容/修飾符
要查找的內容:可使用模式
替換爲的內容:不能使用模式,但可以使用\1, \2,...等後向引用符號;還可以使用“&”引用前面查找時查找到的整個內容
修飾符:
i 忽略大小寫
g 全局替換,默認情況下,每一行只替換第一次出現
gc 全局替換,每次替換前詢問
2.查找替換中的分隔符/可替換爲其它字符
s@/etc@/var@g
s#/boot#/#i
五、其他模式
1. 可視化模式
1.允許選擇的文本塊
v 面向字符
V 面向行
ctrl-v 面向塊
2.可視化鍵可用於與移動鍵結合使用
w )} 箭頭等
3.突出顯示的文字可被刪除,複製,變更,過濾,搜索,替換等
六、定製vim特性
1. 定製vim的工作特性
配置文件:永久有效
全局:/etc/vimrc
個人:~/.vimrc
擴展命令模式:當前vim進程有效(1) 行號
顯示:set number,簡寫 set nu
取消顯示:set nonumber, 簡寫 setnonu(2) 忽略字符的大小寫
啓用:set ignorecase,簡寫 set ic
不忽略:setnoic(3) 自動縮進
啓用:set autoindent,簡寫 set ai
禁用:setnoai(4) 複製保留格式
啓用:set paste
禁用:setnopaste(5) 顯示Tab和換行符 ^I 和$顯示
啓用:set list
禁用:setnolist(6) 高亮搜索
啓用:set hlsearch
禁用:setnohlsearch(7) 語法高亮
啓用:syntax on
禁用:syntax off(8) 文件格式
啓用windows格式:set fileformat=dos
啓用unix格式:set fileformat=unix
簡寫 set ff=dos|unix(9) 設置文本寬度
set textwidth=65(vim only)set wrapmargin=15(10) 設置光標所在行的標識線
啓用:set cursorline,簡寫 set cul
禁用:set nocursorline
擴展:
Set 幫助
:help option-list
:set or :set all
vi/vim內置幫助
:help
:help topic
Use :q to exit help
vimtutor