1. 程式人生 > >vi/vim 游標移動命令(轉載)

vi/vim 游標移動命令(轉載)

轉載至:https://www.cnblogs.com/Jacklovely/p/6015037.html

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):移動游標到行首
^:移動游標到行首第一個非空字元上去

f:移動游標到當前行的字元a上,nf移動游標到當前行的第n個a字元上
F:相反

%:移動到與制匹配的括號上去(),{},[],<>等。

nG:移動到第n行上 G:到最後一行

CTRL+G 得到當前游標在檔案中的位置

向前翻頁:CTRL+F
向下移動半屏:CTRL+G

向後翻頁:CTRL+B

 

到檔案開頭 gg
到檔案結尾 shift+g

 

 


存檔:
:q! :不存檔退出
:e! :放棄修改檔案內容,重新載入該檔案編輯
:wq :存檔退出

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 檢視當前檔案全路徑

q[a-z] 開始記錄但前開始的操作為巨集,名稱可為【a-z】,然後用q終止錄製巨集。
用reg顯示當前定義的所有的巨集,用@[a-z]來在當前游標處執行巨集[a-z]。

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):移動游標到行首
^:移動游標到行首第一個非空字元上去

f:移動游標到當前行的字元a上,nf移動游標到當前行的第n個a字元上
F:相反

%:移動到與制匹配的括號上去(),{},[],<>等。

nG:移動到第n行上 G:到最後一行

CTRL+G 得到當前游標在檔案中的位置

向前翻頁:CTRL+F
向下移動半屏:CTRL+G

向後翻頁:CTRL+B

 

到檔案開頭 gg
到檔案結尾 shift+g

 

 


存檔:
:q! :不存檔退出
:e! :放棄修改檔案內容,重新載入該檔案編輯
:wq :存檔退出

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 檢視當前檔案全路徑

q[a-z] 開始記錄但前開始的操作為巨集,名稱可為【a-z】,然後用q終止錄製巨集。
用reg顯示當前定義的所有的巨集,用@[a-z]來在當前游標處執行巨集[a-z]。