離開 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 不顯示行號
沒有留言:
張貼留言