1.啟動
-R 唯讀方式開啟,但開啟後如果有許可權,可以強制執行儲存。
-c (command) 載入後執行命令,比如"vim -c /most myfirst" 開啟該檔案後直接向後搜尋most。
更多的可以參考 -h
2.同時編輯多個檔案
vim [file1] [file2] ...
此時
:ar 查看當前編輯的檔案名稱
:n 切換當前編輯的檔案
另外還有
:e 切換到新檔案
:w 讀取已存在的檔案並將其內容放入正在編輯的檔案中
:w [起始行][終結行] [檔案名稱] 將當前檔案部分放於新檔案中,若已存在則覆蓋。
3.文本重排
命令模式下
dd 刪除當前行並存放於臨時緩衝區中(類似於剪下)
yy 複製當前行並存放於臨時緩衝區中
p 將指定緩衝區內容放到當前游標位置之下
P 將指定緩衝區內容放到當前游標位置之上
4.網域作業
操作符(d、y等)與域結合可以進行網域作業。
域 |
功能 |
$ |
標識域為從游標位置開始到當前行尾 |
0 |
標識域為從游標位置前到當前行首 |
e或w |
標識域為從游標位置開始到當前字尾(其他用法:如3dw,刪除游標後3個字) |
b |
標識域為從游標位置前到當前字首 |
5.緩衝區的使用
5.1 數字編號緩衝區
雙引號+n(緩衝區號,1至9)+(p或P)
例如"9p
其中對數字緩衝區的使用,刪除或複製時,每次將所有區後移,1到2,2到3,......,9原有被清空並被8覆蓋。
5.2 字母編號緩衝區
雙引號+緩衝區名(從小寫字母a至z)+命令
練慣用例:
"wdd 刪除當前行,副本儲存在緩衝區w
"wp 將緩衝區w內容複寫到游標位置
"z7yy 複製7行到緩衝區z
"zp 將緩衝區z的內容(7行)複製到游標位置
6.游標定位鍵
鍵 |
功能 |
[Ctrl-d] |
將游標向下移動到檔案尾,通常每次移動12行 |
[Ctrl-u] |
將游標向上移動到檔案頭,通常每次移動12行 |
[Ctrl-f] |
將游標向下移動到檔案尾,通常每次移動24行 |
[Ctrl-b] |
將游標向上移動到檔案頭,通常每次移動24行 |
7.Vim定製選項
7.1 :set
:set all 顯示所有選項
:set 只顯示修改過的選項
:set X? 顯示選項X的值
設定方式
布爾式選項: set X選定,set noX禁止
數字式選項: set X=12
串選項:類似於數字式選項,但賦值的是串
一些選項:
選項 |
縮寫 |
功能 |
autoindent |
ai |
將新行與前一行的行首對齊 |
ignorecase |
ic |
在搜尋選項中忽略大小寫 |
number |
nu |
顯示行號 |
shiftwidth |
sw |
設定縮排的空格數,與autoindent選項一起使用 |
wrapmargin |
wm |
設定右邊界為指定的字元數 |
7.2縮寫
:ab uno UNIX Operating System 將uno設定為UNIX Operating System的縮寫,輸入uno加一個空格就會自動替換。
:unab uno 取消縮寫
7.3宏操作
:map [宏名] [操作功能鍵序列]
宏是臨時的,只在當前編輯會話中起作用。
本節所有設定(set、縮寫、宏)都是臨時的,如果需要長期使用,應在當前(工作)目錄下建立.exec檔案,在其中儲存設定。內容形如
set report=0
ab uop UNIX Operating System
map q 5dd
8.其他命令
8.1 運行shell命令
:!+命令 例如:!date
8.2 行串連 J
8.3搜尋與替換
利用/或?+輸入+n+.+n+.+……可以實現批量替換