vi/vim 游標移動命令
移動游標
上:k nk:向上移動n行 9999k或gg可以移到第一行 G移到最後一行
下:j nj:向下移動n行
左:h nh:向左移動n列
右:l nl:向右移動n列
w:游標以單詞向前移動 nw:游標向前移動n個單詞 游標到單詞的第一個字母上
b:與w相反
e: 游標以單詞向前移動 ne:游標向前移動n個單詞 游標到單詞的最後一個字母上
ge:與e相反
$:移動游標到行尾 n$:移動到第n行的行尾
0(Num):移動游標到行首
^:移動游標到行首第一個非空字元上去
%:移動到與制匹配的括號上去(),{},[],<>等。
nG:移動到第n行上 G:到最後一行
CTRL+G 得到當前游標在檔案中的位置
到檔案開頭 gg
到檔案結尾 shift+g
dw:刪除一個單詞,需將游標移到單詞的第一個字母上,按dw,如果游標在單詞任意位置,用daw
dnw:刪除n個單詞
dne:也可,只是刪除到單詞尾
dnl:向右刪除n個字母
dnh:向左刪除n個字母
dnj:向下刪除n行
dnk:向上刪除n行
d$:刪除當前游標到改行的行尾的字母
dd:刪除一行
cnw[word]:將n個word改變為word
cc:改變整行
C$:改變到行尾
J: 刪除換行符,將游標移到改行,按shift+j刪除行尾的換行符,下一行接上來了.
u: 撤銷前一次的操作
shif+u(U):撤銷對該行的所有操作。
:set showmode :設定顯示工作模式
o:在當前行的下面另起一行
O(shift+o):在當前行的上面另起一行
nk或nj:游標向上或向下移n行,n為數字
an!【ESC】:在行後面加n個感嘆號(!)
nx:執行n次x(刪除)操作
ZZ:儲存當前文件並退出VIM
:help :檢視幫助文件,在這之中,按CTRL+] 進入超連線,按CTRL+O 返回。
:help subject :看某一主題的幫助,ZZ 退出幫助
:set number / set nonumber :顯示/不顯示行號
:set ruler /set noruler:顯示/不顯示標尺
/pattern 正方向搜尋一個字元模式
?pattern 反方向搜尋一個字元模式
然後按n 繼續向下找
把游標放到某個單詞上面,然後按×號鍵,表示查詢這個單詞
查詢整個單詞:/\
:set hlsearch 高亮顯示查詢到的單詞
:set nohlsearch 關閉改功能
m[a-z]:在文中做標記,標記號可為a-z的26個字母,用`a可以移動到標記a處
r:替換當前字元
nr字元:替換當前n個字元
查詢替換:
way1:
/【word】 :查詢某個word
cw【newword】:替換為新word
n: 繼續查詢
.: 執行替換
way2:
:s/string1/string2/g:在一行中將string1替換為string2,g表示執行 用c表示需要確認
:num1,num2 s/string1/string2/g:在行num1至num2中間將string1替換為string2
:1,$ s/string1/string2/g:在全文中將string1替換為string2
v:進入visual 模式
【ESC】退出
V:shift+v 進入行的visual 模式
CTRL+V:進如塊操作模式用o和O改變選擇的邊的大小。
貼上:p,這是貼上用x或d刪除的文字
複製:
ynw:複製n個單詞
yy:複製一行
ynl:複製n個字元
y$:複製當前游標至行尾處
nyy:拷貝n行
完了用p貼上
:split:分割一個視窗
:split file.c :為另一個檔案file.c分隔視窗
:nsplit file.c: 為另一個檔案file.c分隔視窗,並指定其行數
CTRL+W在視窗中切換
:close:關閉當前視窗
在所有行插入相同的內容如include<,操作方法如下:
將游標移到開始插入的位置,按CTRL+V進入VISUAL模式,選擇好模組後
按I(shift+i),後插入要插入的文字,按[ESC]完成。
:read file.c 將檔案file.c的內容插入到當前游標所在的下面
:0read file.c 將檔案file.c的內容插入到當前檔案的開始處(第0行)
:nread file.c 將檔案file.c的內容插入到當前檔案的第n行後面
:read !cmd :將外部命令cmd的輸出插如到當前游標所在的下面
:n1,n2 write temp.c 將本檔案中的n1,到n2行寫入temp.c這個檔案中去
CTRL+L重新整理螢幕
shift + < 左移一行
shift + > 右移一行
u: undo
CTRL+R: re-do
J: 合併一行
CTRL+p 自動完成功能
CTRL+g 檢視當前檔案全路徑