標籤:vim 快速鍵 vi
1) 游標的移動
H 游標移動到螢幕的頂行行首
M 游標移動到螢幕的中間行行首
L 游標移動到螢幕的末行行尾
0 游標移動到當前行行首
$ 游標移動到當前行行尾
G 游標移動到當前行行首
gg 游標移動到首行行首
nG 游標下移N行(包括當前行)至行尾
n+ 游標下移N行(包括當前行)至行首
n- 游標上移N行(包括當前行)至行首
% 先吧游標停留在 ”{” 或者 “}” 能直接移動到與當前括號對稱的另一個大括弧
| 列
n| 游標移動到當前行的第n列
注意:vim是區分大小寫,H等價於Shift + h,也就是H和h是不同的命令!
小提示:
游標的移動可以和刪除命令和複製複製命令一起使用!!
如:
d + 2 G 等價於刪除從游標開始到第2行的所有內容
y + 2 G等價於複製從游標開始到第2行的所有內容
d + % 刪除塊中的所有內容
同理:d + gg 和 d+ G是什麼作用?
2) 翻滾螢幕
Ctrl + u 向檔案首方向翻滾半螢幕
Ctrl + d 向檔案尾方向翻滾半螢幕
Ctrl + b 向檔案首方向翻滾一個螢幕
Ctrl + f 向檔案尾方向翻滾一個螢幕
Ctrl + g 列出游標所在行的行號, 檔案名稱, %n
Ctrl + p 調用外掛程式補全單詞快速鍵pattern
Ctrl + r 恢複
3)插入文本
i 從游標前面插入
I 從游標所在行的行首插入
a 從游標後面面插入
A 從游標所在行的末尾插入
o 從游標所在行的下一行插入(新增一行)
O 從游標所在行的上一行插入(新增一行)
r 替換游標所在處的字元
nr 替換游標所在處以及後面的n個字元
R 進入替換狀態,直到按下ESC結束
提示:很多初學者一般只會用 i ,但I A o也挺重要的,可以大大減少我們移動游標的次數!!
4) 刪除文本
x 刪除從當前位置開始的個字元,含游標所指字元
X 從當前位置開始向前刪除字元,不包含所指字元
NX
NX
D$ 刪除到行尾
D0 刪除到行首
dw
dn
dd
ndd
5)複製 粘帖 移動
yy
nyy
yw
p
:n1, n2 co n3 複製
:n1, n2 m n3 粘帖
n1表示哪一行,n2表示從n1往下修改多少行(包含n1) 一個>表示一個\t
:n1 > n2
:n1 < n2
:n1 >> n2
:n1 << n2
6) 尋找和替換
/ 從當前的位置開始向檔案末尾方向搜尋
? 從當前的位置開始向檔案開始方向搜尋
n 沿著相同的方向繼續尋找
N 沿著相反的方向繼續尋找
不加g表示之替換行的地一個
:s/old/new
:s/old/new/g
n1,p2/old/new/g 將地n1行到n2行所有的old替換為new
:0,$ s/old/new/g 0和$表示從首行到末行
:%s/old/new/g %表示全部行,加g表示全部替換,不加g只替換全部行的第一個
7) 撤銷和重複
u 撤銷先前的命令,一直往前撤銷
U 修正先前的一條撤銷命令
:undo 撤銷先前的命令
. 重複編輯狀態中最後一次輸入
Ctrl + r 撤銷剛才所做的撤銷操作(還原撤銷狀態)
8) 基本底行命令
:q
:q!
:w
:w! 儲存唯讀檔案, 強制儲存
:wq
:x
ZZ
:e file_name 在當前vi檔案中歐給你開啟一個新的檔案,原來的檔案會被關閉
:e! load 重新載入當前檔案,之前的修改會被全部放棄
:new 開啟一個新的檔案, 原來的檔案不會被關閉,分頁顯示
:! 不離開vi環境執行shell命令
:n 跳轉到第n行
9) 設定選項
:set all 顯示所有的選項當前
:set autoindent/noautoindent 自動縮排/不自動縮排
:set ai / noai
syntax on / off 文法加亮
set st = 4
set ts = 4
設定檔(伸手黨直接看這)
vi ~/.vimrc(首先開啟目前使用者的vimrc設定檔)
C++風格的縮減格式,用下面的命令開啟設定檔後,把下面的英文複製進去,儲存退出即可
set cindent
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
set number " Show line number
set tabstop=4
set softtabstop=4
set autoindent
set shiftwidth=4
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif
10) 較常用的命令
S 修改游標所在行的內容,原來的內容會被刪除
C 刪除游標所在行後面的內容並切換到輸入狀態,如1234567,游標停留在4,S後只有123
K 和!作用一樣
J 把游標所在行的和游標下一行串連在一起
:split + 檔案名稱 開啟另一個檔案,2個檔案公用一個視窗,以水平分屏顯示
:vplit + 檔案名稱 同上,以垂直分屏顯示
最後送上一張比較基經典的圖片
vim快速鍵,及vimrc的簡單設定