離開 vi
ZZ :wq :x 先存檔再離開
:w       檔名 存成他檔
:q     離開 (檔案有改會提示)
:q!       放棄編輯,直接離開
:wq!    強制存檔,並離開
暫時離開 vi  
:!      暫時執行一下UNIX指令
:sh      產生新shell, Ctrl + d 回原編輯處
Ctrl + z    回上一個 shell, 用 fg指令回 vi


插入/命令模式的切換
ESC鍵  插入模式 --> 命令模式

在命令模式下的指令
a    在游標右邊插入文字
i     在游標處插入文字
o    在游標下方增加新列
A      在游標那列末端插入文字
I    在游標那列開頭插入文字
O     在游標上方增加新列

移動游標
k    往上移
j     往下移
h    往左移
l     往右移
^    移到列首
$    移到列尾
w    往右移一個字(word)
b    往左移一個字(word)
e    移到目前所在字(word)的最後字元
G    移到檔尾
nG    移到第 n 列

:n     游標移到第 n 列
:$     游標移到最後一列
H     游標移到螢幕頂端
M     游標移到螢幕中間
L      游標移到螢幕底端
ctrl + d  游標向下捲半頁
ctrl + u  游標向上捲半頁
ctrl + f   游標向上捲一頁
ctrl + b  游標向下捲一頁

ctrl + G  查詢目前的游標位置

刪除資料
x     刪除游標所在字元(delete)
#x     從游標起,刪 # 個字元
X    刪除游標的前一字元(backspace)
#X    從游標起,往前刪 # 個字元
dw    刪一個字(word)
#dw   刪 # 個字(word)
D    刪字到列末
dd     整列刪除
#dd   從游標列開始,刪除 # 列
dG    從游標處刪到檔尾


搬移和複製
ndd     從游標處起 n 列, 剪到暫存區
nyy     從游標處起 n 列, 複製暫存區
p      將暫存區的內容貼到游標處
n,m co x  將 n 到 m 列的資料, 複製到 x 列
n,m m x   將 n 到 m 列的資料, 移到 x 列
.,$ co x    將游標所在列到檔尾的資料, 複製到 x 列


搜尋和取代
/       字串搜尋
:set ic    搜尋時不考慮大小寫
:set noic  搜尋時需考慮大小寫
n      向下搜尋
N     向上搜尋

r     將游標所在換成另一字元
cw    取代一個字串
cc    取代一整列
:s     取代多個字串
:1,$s   /舊字串/新字串/g 1是第1列, $是最後一列, g是全檔
 例:下這段指令可以將檔案中所有的 a: b: ... z: 的字串改成*
   :1,$s/[a-z]:/*/g

合併 列/檔案
J     合併兩列
:r    檔名 將他檔插在游標所在列之後
: n r   檔名 將他檔插在第 n 列之後

u    取消前一命令(undo)
U    對這列的修改全取消

:set nu  加上行號
:set nonu 不顯示行號


資料來源:http://mail.hmes.kh.edu.tw/~jona/redhat/application/vi.htm

文章標籤
全站熱搜
創作者介紹
創作者 jhe 的頭像
jhe

2021t

jhe 發表在 痞客邦 留言(0) 人氣(39)