i/a |
從光標所在位置以前、以後開始插入 |
I/A |
光標移到行首、行尾,而後開始插入 |
o/O |
光標所在行的下、上新插入一行,而後開始插入 |
G |
光標移動到文件最後一行的行首 |
nG |
相對文件的開始的第n行開始,如:1G光標移到第1行開始 |
$ |
光標移到當前所在行的行尾 |
n$ |
光標移到第n行的行尾 |
0 |
光標移到當前所在行的行首 |
n+/n- |
光標上移或下移n行 |
^ |
光標移到所在行的第一個非空格字符 |
h/j/k/l |
光標左、下、上、右移動 |
H |
光標移至當前屏幕左上角 |
M |
光標移至當前屏幕顯示文件的中間行行首 |
L |
光標移到當前屏幕最後一行行首 |
rc |
用字符c替換光標所指向的當前字符 |
nrc |
用字符c替換從光標開始的n個字符 |
x |
刪除光標所在處的字符 |
nx |
刪除從光標所在位置開始向右的n個字符 |
dw |
刪除一個單詞。若光標處在某個詞中間,則從光標所在位置開始刪除至詞尾並連同空格 |
ndw |
刪除n個指定的單詞 |
db |
刪除光標所在位置以前的一個詞 |
ndb |
刪除光標所在位置以前的n個詞 |
dd / D |
刪除光標所在整行 |
ndd |
刪除光標所在行及以後的n-1行 |
dG |
刪除光標所在位置至文件尾的全部內容 |
d1G |
刪除光標所在位置到文件首的全部內容 |
d$ |
刪除光標所在位置到當前行的末尾的內容 |
d0 |
刪除光標所在位置到當前行的開始的內容 |
yy |
將當前行的內容複製到緩衝區 |
nyy |
將當前開始的n行內容複製到緩衝區 |
yG |
將當前光標所在位置到最後一行的全部內容複製到緩衝區 |
y1G |
將當前光標所在位置到第1行的全部內容複製到緩衝區 |
y$ |
將當前光標所在位置到當前行的末尾的內容複製到緩衝區 |
y0 |
將當前光標所在位置到當前行的開始的內容複製到緩衝區 |
p |
將緩衝區的內容寫出到光標所在位置 |
/str |
向右移動到有str的地方 |
?str |
往左移動到有str的地方 |
n |
向相同的方向移動到下一個有str的地方 |
N |
向相反的方向移動到下一個有str的地方 |
u |
撤銷前一次操做 |
ZZ |
存盤退出 |
ZQ |
不保存退出 |
:n | 直接輸入要移動到的行號便可實現跳行 |
:/str/ |
從當前光標開始往右移動到有str的地方 |
:?str? |
從當前光標開始往左移動到有str的地方 |
:/str/w file |
將包含有str的行寫到文件file中 |
:/str1/,/str2/w file |
將從str1開始到str2結束的內容寫入file文件中 |
:s/str1/str2/ |
將找到的第1個str1替換爲str2 |
:s/str1/str2/g |
將找到的全部str1替換爲str2 |
:n1, n2s/str1/str2/g |
將從n1~n2行找到的全部str1替換爲str2 |
:1,.s/str1/str2/g |
將第1行到當前位置的全部str1替換爲str2 |
:.,$s/str1/str2/g |
將從當前位置到結尾的全部str1替換爲str2 |
:1,$s/str1/str2/gc |
將從第1行到最後一行的全部str1替換爲str2,並在替換前詢問 |
:n1,n2 co n3 |
把從n1開始到n2爲止的全部行的內容複製到n3行的後面 |
:n1,n2 m n3 |
把從n1開始到n2爲止的全部行的內容移動到n3行的後面 |
:d |
刪除當前行 |
:nd |
刪除從當前所開始的n行 |
:n1,n2 d |
刪除從n1開始到n2爲止的全部行的內容 |
:.,$d |
刪除從當前行到結尾的全部內容 |
:/str1/,/str2/d |
刪除從str1開始到str2爲止的全部內容 |
:w | 將當前編輯的內容存盤 |
:w file | 將當前編輯的內容寫到file文件中 |
:n1,n2w file | 將從n1開始到n2結束的行寫入到file中 |
:nw file | 將第n行寫入到file中 |
:1,.w file | 將從第1行到當前光標位置的全部內容寫入到file中 |
:.,$w file | 將從當前光標位置到文件結尾的全部內容寫入到file中 |
:r file | 找開另外一個文件file |
:e file | 新建file文件 |
:f file | 把當前文件更名爲file |
:!Cmd | 運行Shell命令Cmd |
:n1,n2 w ! Cmd | 將n1~n2行的內容做爲Cmd命令的輸入,若是不指定,則將整個文件做爲命令的輸入 |
:r ! Cmd | 將命令運行結果寫入當前行位置 |
:q | 退出Vi |
:wq | 退出保存Vi |
:q! | 不保存退出Vi |
:set autoindent | 縮進每一行,使之與前一行相同。 |
:set noautoindent | 取消縮進 |
:set number | 在編輯文件時顯示行號 |
:set nonumber | 不顯示行號 |
:set ruler | 在屏幕底部顯示光標所在的行、列位置 |
:set noruler | 不顯示光標所在行、列位置 |
:set tabstop=value | 設置顯示製表符空格字符個數 |
:set wrapmargin=value | 設置顯示器的右頁邊。當輸入進入所設置的頁邊時,編輯器自動回車換行 |
:set | 顯示設置的全部環境選項 |
:set all | 顯示全部能夠設置的環境選項 |