1. 程式人生 > 其它 >NOI 模擬賽(I)

NOI 模擬賽(I)

vim模式:

編輯模式(命令模式)

輸入模式

末行模式

模式轉換:

從編輯模式到輸入模式

i 在當前游標所在字元的前面,轉為輸入模式。

a 在當前游標所在字元的後面,轉為輸入模式。

o 在當前游標所在行的下方新建一行,轉為輸入模式

I 在當前游標所在行的行首,轉為輸入模式。

A 在當前游標所在行的行尾,轉為輸入模式。

O 在當前游標所在行的上方,轉為輸入模式。

從輸入模式返回至編輯模式:

鍵盤的ESC

末行模式 必須從編輯模式進入

鍵盤輸入:(冒號)

nd  比如10d 刪除第10

末行模式回到編輯模式

鍵盤的ESC

開啟檔案(開啟檔案預設處於編輯模式)

vim +n filename  開啟這個檔案並處於

N行上

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 刪除startend

. 表示當前行

$ 最後一行

+$ 向下的#

貼上命令 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.swpfilename是你編輯的檔名