VI編輯經常使用命令

普通模式進入插入模式:
i/a
從光標所在位置以前、以後開始插入
I/A
光標移到行首、行尾,而後開始插入
o/O
光標所在行的下、上新插入一行,而後開始插入 


普通模式下光標移動:

光標移動到文件最後一行的行首
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
撤銷前一次操做


普通模式下退出Vi:
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



命令模式下執行shell命令:
:!Cmd 運行Shell命令Cmd
:n1,n2 w ! Cmd 將n1~n2行的內容做爲Cmd命令的輸入,若是不指定,則將整個文件做爲命令的輸入
:r ! Cmd 將命令運行結果寫入當前行位置



命令模式下退出Vi
:q 退出Vi
:wq 退出保存Vi
:q! 不保存退出Vi
    


命令模式下設置Vi環境  
:set autoindent 縮進每一行,使之與前一行相同。
:set noautoindent 取消縮進
:set number 在編輯文件時顯示行號
:set nonumber 不顯示行號
:set ruler 在屏幕底部顯示光標所在的行、列位置
:set noruler 不顯示光標所在行、列位置
:set tabstop=value 設置顯示製表符空格字符個數
:set wrapmargin=value 設置顯示器的右頁邊。當輸入進入所設置的頁邊時,編輯器自動回車換行
:set  顯示設置的全部環境選項
:set all  顯示全部能夠設置的環境選項
相關文章
相關標籤/搜索