起初,想著寫個全面的vi教程,但是總是由於vi的命令較多較雜而不了而止。
後來,想著即使寫出乙個全面的vi教程,也未必有用。因為那時教程肯定很長很長,而對於很長的文章,大部分人是沒有耐性去把它讀完的。
於是,我每次寫一些vi的命令匯集,每次重複一些上次提及到的,從而達到溫故而知新。
本文與tiankonguse
這裡。
vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)
控制螢幕游標的移動,字元、字或行的刪除,移動複製某區段及進入insert mode下,或者到 last line mode。
只有在insert mode下,才可以做文字輸入,按「esc」鍵可回到命令列模式。
將檔案儲存或退出vi,也可以設定編輯環境,如尋找字串、列出行號……
i 進入插入模式,位置在游標處
a 進入插入模式,位置在游標的下乙個位置
o 進入插入模式,插入新的一行
h 游標左移
j 游標下移
k 游標上移
l 游標右移
[ctrl] + b 螢幕往後移動一頁
[ctrl] + f 螢幕往前移動一頁
[ctrl] + u 螢幕往後移動半頁
[ctrl] + d 螢幕往前移動半頁
g 游標定位在文章最前,顯示仍為目前行
gg 游標定位在文章最前,顯示為文章最前
g 游標定位在文章最後,顯示仍為目前行
gg 游標定位在文章最後,顯示為文章最後
g[linenumber] 跳轉到第linenumber行,例如 g12 ,跳到第12行
g[linenumber] 同g[linenumber]
^ 移動到游標所在行的行首
$ 移動到游標所在行的行尾
w 游標跳到下個字的字首
e 游標跳到下個字的字尾
b 游標跳到上個字的字首
x 刪除游標所在的字元
x 刪除游標所在字元的前乙個字元
d[cmd] 根據命令刪除字元,有d^,d$,dw,de,db,dd
dd 刪除游標所在的行
y[cmd] 根據命令複製字元,有y^,y$,yw,ye,yb,yy
yy 複製當前行
c[cmd] 根據命令刪除字元,並進入插入模式,有c^,c$,cw,ce,cb,cc
cc 刪除當前行並進入插入模式
p 在游標所在位置貼上
u 撤銷
[number][cmd] 執行number次cmd命令,例如: 3dd,從游標起刪除三行
r 替換游標所在位置的字元,替換後回到命令模式
r 替換游標所在位置的字元,替換後游標移到下乙個位置,可以繼續替換,按[esc]結束。
:w filename 另存為
:q 退出
:wq 儲存並退出
:q! 強制退出
:[linenumber] 跳轉到第linenumber行,例如 :12 ,跳到第12行
:set nu 顯示行號
:set nonu 隱藏行號
[esc] 從插入模式切換到命令列模式。
docker常用命令匯集
結束所有執行的容器 docker kill docker ps a q 刪除所有已經停止的容器 docker rm docker ps a q 刪除所有未打 dangling 標籤的映象 docker rmi docker images q f dangling true 刪除所有映象 docker...
Kafka常用命令匯集
建立topic bin kafka topics.sh create zookeeper localhost 2181 replication factor 1 partitions 1 topic test 展示topic bin kafka topics.sh list zookeeper lo...
vi命令備忘
進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vi r...