【vi的工作模式】
1.命令模式
2.插入模式
3.末行模式
【常用vi命令及解釋】
命令模式
esc退出或進入命令模式
i在游標前插入
i在行首插入
a在游標後插入
a在行末插入
s剪下游標後乙個字元,並變為插入模式
s剪下游標所處的一行,並變為插入模式
o在當前行的下面另起一行,並變為插入模式
o在當前行的上面另起一行,並變為插入模式
(文字的剪下、複製、貼上及撤銷)
x剪下後乙個字元
x剪下前乙個字元
nx剪下游標後的n個字元
dd剪下一行(delete中的『d』)
d剪下到行尾
ndd/nd
剪下n行/剪下到n行行尾
j刪除換行符,使下一行並上來
nj連線後面的n行
y/yy
複製整行
yw複製乙個單詞
nyy複製從當前行開始的n行
p在下一行貼上(paste中的『p』)
p在上一行貼上
u撤銷上一次操作(undo中的『u』)
u撤銷當前行的所有修改
ctrl+r
對撤銷的撤銷
(游標的移動)
k/j/h/l或方向鍵上下左右
上下左右
/關鍵字
^/0移動到行首
$移動到行尾
w右移乙個字,游標處於下乙個字的字首(forword中的『w』)
nw右移n個字,游標處第於n個字的字首
b左移乙個字,游標處於下乙個字的字首(back中的『b』)
nb左移n個字,游標處於第n個字的字首
(移到本句的句首,若已位於句首,則移動至前一句的句首
)移到下一句的句首
移到下一段的句首
+移動到下一行的行首
-移動到上一行的行首
將游標放在「{」處,然後輸入v%就可以吧大括號中內容選定
如果游標放在第乙個s上,想刪除到「(」為止,則輸入dt(就可以了,t(的作用是 跳到下乙個「(」前
%跳到相對應的括號上
程式設計時常用
ng跳轉到第n行行首,此時按``可以返回到原來行位置,按''可以返回到原來行行首
gg/1g
移動到檔案首行的行首
g移動到檔案末行的行首
+g報告游標所處的位置,位置資訊顯示在vi的最後一行
ctrl+u/d
向上/下滾動半屏
ctrl+y/e
向上/下滾動一行
ctrl+b/f
向上/下滾動一屏
這個比較實用,記住
zz將當前行滾動於螢幕中間,方便檢視上下文
zt將當前行滾動於螢幕頂部,方便檢視下文
zb將當前行滾動於螢幕底部,方便檢視上文
ps:遇到'.'或'?'或'!',vi認為是一句的結束,vi以空白行來作為段的開始或結束
末行模式
n1,n2y
複製n1到n2行
n1,n2d
刪除n1到n2行
n1,n2mn3
n1到n2剪下到n3後
n1,n2con3
n1到n2複製貼上到n3後
set number/nu
顯示行號
set nonu
隱藏行號
【常用vi的簡單配置】
set number
顯示行號
set cursorline
突出顯示當前行
set tabstop=4
tab長度設定為4
set ruler
在右下角顯示游標位置的狀態行
set autoindent
自動對齊,使用上一行的
syntax on
開啟語法高度顯示
set smartindent
智慧型對齊方式
set shiftwidth=4
設定對齊時的縮排長度
set tabstop=4
設定tab縮排長度
set mouse=a
允許使用滑鼠移動游標
map:
第 行模式下的命令
map檢視模式下命令命令
常用GDB命令及解釋
ps 一些gdb命令可簡寫,如li list c cont continue q quit b break s step n next p print 等 常用除錯方法 gcc g test.c o test gdb 程式檔名除錯乙個程式的命令格式 會顯示版權說明 gdb q 程式檔名 或 gdb ...
常用vi命令
i 進入修改狀態,游標所在處插入 a 進入修改狀態,游標所在後插入 o 進入修改狀態,行首插入新行 esc 回到命令狀態 w foo.txt 存成foo.txt wq 儲存修改退出 x 儲存修改退出 q 放棄編輯,強制退出 u 撤銷一步,可多步 ctrl r 恢復一步,可多步 3yy 複製游標所在及...
VI 游標移動及常用編輯命令
游標移動 左 h 下 j 上 k 右 l 當前行行首 0 當前行行尾 後乙個單詞詞首 w,w 後乙個單詞詞尾 e,e 前乙個單詞詞首 b,b 下半屏 crtl d 上半屏 crtl u 向上滾動螢幕 crtl y 向下滾動螢幕 crtl e 跳到檔案尾 g 跳到檔案頭 g 當前螢幕首行 h 當前螢幕...