NOI 模擬賽(I)
vim模式:
編輯模式(命令模式)
輸入模式
末行模式
模式轉換:
從編輯模式到輸入模式
i 在當前游標所在字元的前面,轉為輸入模式。
a 在當前游標所在字元的後面,轉為輸入模式。
o 在當前游標所在行的下方新建一行,轉為輸入模式
I 在當前游標所在行的行首,轉為輸入模式。
A 在當前游標所在行的行尾,轉為輸入模式。
O 在當前游標所在行的上方,轉為輸入模式。
從輸入模式返回至編輯模式:
鍵盤的ESC鍵
末行模式 必須從編輯模式進入
鍵盤輸入:(冒號)
nd 比如10d 刪除第10行
末行模式回到編輯模式
鍵盤的ESC鍵
開啟檔案(開啟檔案預設處於編輯模式)
vim +n filename 開啟這個檔案並處於
vim + filename 處於開啟檔案的最下方(尾部)
vim +/pattern filename 開啟檔案,定位至第一次被pattern匹配到的行的行首
關閉檔案(編輯模式或者末行模式下完成)
1,在末行模式下關閉檔案
:q 退出
:wq(:x) 儲存退出
:q! 不儲存強行退出
:w 只儲存不退出
:w! 針對管理員使用強行儲存
2.在編輯模式退出
ZZ 儲存退出
移動游標(編輯模式下)
1逐字元移動
h:向左
l:向右
j:向下
k:向上
#h 移動#個字元(上述都支援次方法)
2.以單詞為單位移動
w 移動至下一個單詞的詞首
e 跳至當前單詞或下一個單詞的詞尾
b 跳至當前或前一個單詞的詞首
#w 移動#個單詞(上述都支援和數字組合)
3,行內跳轉
0 跳至行首(絕對行首)
^ 跳至行首(行首的第一個非空白字元行首)
$ 跳至絕對行尾
4.行間跳轉
#G 直接跳轉至第#行上
G 跳至最後一行
移動游標(末行模式)
:n 直接跳至n行
翻屏操作(編輯模式下)
Ctrl + f 向下翻一屏
Ctrl + b 向上翻一屏
Ctrl + d 向下翻半屏
Ctrl + u 向上翻半屏
編輯命令:(編輯模式下)
刪除單個字元
x 刪除游標所在處的單個字元
#x 刪除游標所在處及向後的共#個字元
刪除命令 d (編輯模式下)
d 命令要和跳轉命令組合使用,可以指定刪除多少
#d跳轉符 刪除游標所在行的跳轉範圍的#個(跳轉字元如 j,k,h,l,G這種)
dd 刪除游標所在行
#dd 刪除包括游標所在行內的#行
刪除命令 d (末行模式下)
:start,endd 刪除start到end行
. 表示當前行
$ 最後一行
+$ 向下的#行
貼上命令 p (編輯模式下)
p(小寫p) 如果刪除或複製的為整行內容,則貼上至游標所在行的下方,如果複製或者刪除的內容為非整行,則貼上至游標所在字元的後面
P(大寫P)如果刪除或者複製的為整行內容,則貼上至游標所在行的上方,如果複製或者刪除的內容為非整行,則貼上至游標所在字元的前面
複製命令 y (編輯模式下)
用法同d命令一樣
修改 先刪除內容,在轉換為輸入模式
c 先刪除內容,在轉換為輸入模式(用法同d命令一樣)
替換 r(只能替換單個字元)
R 直接進入替換模式 ESC退出替換模式
撤銷標記操作 u
u 撤銷前一次的操作(連續u可以撤銷此前的N次操作,vim編輯器最多儲存50次)
#u 直接撤銷最近的#次操作
還原最近一次的撤銷操作 Ctrl + r
重複前一次編輯操作 . (點)
視覺化模式 v或者V 可以選中游標所劃過的內容
v 按字元選取
V 按矩形塊選取(每次選取一整行)
查詢(支援正則表示式)
/pattern
?pattern
n 查詢下一個
N 查詢上一個
查詢並替換(末行模式下)s 命令
start,ends/pattern/string/g
1,$ 從第一行到最後一行
% 表示全文
vim開啟多個檔案(在末行模式下)
vim file1 file2 (預設開啟第一個檔案)
:next 切換至下一個檔案
:prev 切換至前一個檔案
:last 切換至最後一個檔案
:first 切換至第一個檔案
:qa 全部退出
如何分屏顯示一個檔案
ctrl + w 鬆開在按 s 可以實現水平拆分視窗
Ctrl + w 鬆開在按 v 可以實現垂直拆分視窗
Ctrl + w 向下或向上箭頭 切換視窗游標
:qa 退出全部視窗
分兩口顯示多個檔案
vim -o file1 file2 水平分視窗顯示多個檔案
vim -O file1 file2 垂直分視窗顯示多個檔案
將當前檔案的部分內容另存為另外一個檔案
:w /path/to/somewhere (:w後面跟一個路徑)
將另一個檔案的內容填充至游標位置
:r /path/to/somewhere 列如:r test4.txt
跟shell互動(末行模式下)
:!command 比如:! ls /mnt/
高階話題
1.顯示或取消顯示行號
:set number(:set nu) 顯示行號
:set nonu 取消顯示行號
2.顯示忽略或區分字元大小寫
:set ic (:set ignorecase)
:set noic 取消忽略字元大小寫
3.設定自動縮排
:set autoindent (:set ai)
:set noai 取消縮排
4.查詢到的文字高亮顯示
:set hisearch
:set nohisearch 取消高亮顯示
5.語法高亮
:syntax on 開啟高亮
:syntax off 關閉高亮
vim配置檔案
/etc/vimrc 全域性配置(所有使用者有效)
~/.vimrc (如果沒有可以自己建立)當前使用者家目錄下,只針對當前目錄生效
如果當前非法退出vim,在下次開啟時會報錯
vim -r filename 來恢復之前編輯過沒儲存的檔案
如果你用vim開啟檔案不想提醒報錯(刪除時你要確保之前編輯的內容是不重要的)
刪除與你編輯檔案同目下.filename.swp(filename是你編輯的檔名