i命令模式中可用的移動鍵:
h---將光標(biāo)向左移一個字符
j---將光標(biāo)向下移一個字符
k---將光標(biāo)向上移一個字符
l---將光標(biāo)向右移一個字符
w---將光標(biāo)向前移一個單詞
b---將光標(biāo)向后移一個單詞
e---將光標(biāo)移到下一個單詞之后
0---將光標(biāo)移到行首
$---將光標(biāo)移到行末
)---將光標(biāo)移到下一句句首
(---將光標(biāo)移到上一句句首
}---將光標(biāo)移到下一段開始處
{---將光標(biāo)移到下一段開始處
G---將光標(biāo)移到當(dāng)前文檔的底部
^---將光標(biāo)移到行內(nèi)非空格的第一個字符
H---將光標(biāo)移到屏幕上第一行
L---將光標(biāo)移到屏幕上最后一行
在vi中滾動屏幕:
a然后按回車----將光標(biāo)所在的那一行移至屏幕頂部
z然后按"-"---將光標(biāo)所在的那一行移至屏幕底部
z然后按"."---將光標(biāo)所在的那一行移至屏幕中部
Ctrl+u------向上滾動半屏
Ctrl+d------向下滾動半屏
Ctrl+f------向前滾動全屏
Ctrl+b------向后滾動全屏
Ctrl+e------向下滾動一行
Ctrl+y------向上滾動一行
vi的文本編輯命令:
D------從光標(biāo)定位的行末刪除文本
dd------行刪除光標(biāo)定位的當(dāng)前行
ndd-----n代表即將刪除的行數(shù)。例如5dd命令不僅會把當(dāng)前行刪除,還會把緊隨其后的4行也刪除
rc------c代表字符。光標(biāo)下方的字符將被替換為r后面的字符
R------R后鍵入的文本將改寫當(dāng)前文本,從光標(biāo)所在位置開始,一直到按下Escape返回命令模式為止
S------刪除當(dāng)前行,并開始在當(dāng)前的空白行插入文本
x------刪除光標(biāo)下方的字符,并將字符右移填空
X------刪除光標(biāo)前的字符,并移動字符,令光標(biāo)下方的字符來填空
~------更改光標(biāo)下方的字母的大小寫
J------將當(dāng)前行和前一行連接起來,并刪除因此而來的空行
vi中的文件操作:
ZZ------保存對當(dāng)前文件的更改,然后退出vi
:wq-----保存對當(dāng)前文件的更改,然后退出vi(和ZZ一樣)
:w------保存對當(dāng)前文件的更改
:w!-----保存對當(dāng)前文件的更改,如果有同名文件存在的話,就改寫他
:q------退出vi。如果有未保存的更改,vi將發(fā)出抱怨,并"拒絕"退出
:q!-----退出vi,即使還有尚未保存的更改。所有未保存的更改將被丟失
:e filename-把指定文件載入vi進(jìn)行編輯。如果指定文件不存在,將創(chuàng)建一個新文件
:e!-----丟失所有更改,并從硬盤中重載已保存的文件
vi中的查找和替換命令
/pattern--------pattern(樣式)指代的是要查找的內(nèi)容。vi將在文件中向前查找與指定內(nèi)容匹配的第一樣式
/-----------重復(fù)上一次查找,在文件中查找下一個匹配樣式
pattern--------pattern(樣式)指代的是要查找的內(nèi)容。vi將在文件中向后查找與指定內(nèi)容匹配的第一樣式
-----------重復(fù)上一次查找,在文件中查找與上一次查找內(nèi)容匹配的樣式
%-----------把當(dāng)前光標(biāo)移至匹配的圓括號或方括號。對程序員來說,該命令非常有用
:s/pattern1/pattern2--用pattern2替換當(dāng)前行中與pattern1匹配的每個內(nèi)容
:%s/pattern1/pattern2--用pattern2替換整個文件中與pattern1匹配的每個內(nèi)容
在vi中復(fù)制文本
命令 復(fù)制操作
yy 將當(dāng)前行的內(nèi)容放入臨時緩沖區(qū)
nyy 將n行的內(nèi)容放入臨時緩沖區(qū)
p 將臨時緩沖區(qū)中的文本放入光標(biāo)后
P 將臨時緩沖區(qū)中的文本放入光標(biāo)前
"(a-z)nyy 復(fù)制n行放入名字為圓括號內(nèi)的可命名緩沖區(qū),省略n表示當(dāng)前行
"(a-z)ndd 刪除n行放入名字為圓括號內(nèi)的可命名緩沖區(qū),省略n表示當(dāng)前行
"(a-z)p 將名字為圓括號的可命名緩沖區(qū)的內(nèi)容放入當(dāng)前行后
"(a-z)P 將名字為圓括號的可命名緩沖區(qū)的內(nèi)容放入當(dāng)前行前
在vi中撤消與重復(fù)
命令 撤消操作
u 撤消最后一次修改
U 撤消當(dāng)前行的所有修改
. 重復(fù)最后一次修改
, 以相反的方向重復(fù)前面的f、F、t或T查找命令
; 重復(fù)前面的f、F、t或T查找命令
"np 取回最后第n次的刪除(緩沖區(qū)中存有一定次數(shù)的刪除內(nèi)容,一般為9)
n 重復(fù)前面的/或?查找命令
N 以相反方向重復(fù)前面的/或?命令
vi中的宏與縮寫
(避免使用控制鍵和符號,不要使用字符K、V、g、q、v、*、=和功能鍵)
選項(xiàng) 作用
:map key command_seq 定義一個鍵來運(yùn)行command_seq,如:map e ea,無論什么時候都可以e移到一個字的末尾來追加文本
:map 在狀態(tài)行顯示所有已定義的宏
:umap key 刪除該鍵的宏
:ab string1 string2 定義一個縮寫,使得當(dāng)插入string1時,用string2替換string1。當(dāng)要插入文本時,鍵入string1然后按Esc鍵,系統(tǒng)就插入了string2
:ab 顯示所有縮寫
:una string 取消string的縮寫
在vi中縮進(jìn)文本
選項(xiàng) 作用
^i(ctrl+i)或tab 插入文本時,插入移動的寬度,移動寬度是事先定義好的
:set ai 打開自動縮進(jìn)
:set sw=n 將移動寬度設(shè)置為n個字符
n<< 使n行都向左移動一個寬度
n>> 使n行都向右移動一個寬度,例如3>>就將接下來的三行每行都向右移動一個移動寬度
split:分割一個窗口
:split file.c :為另一個文件file.c分隔窗口
:nsplit file.c: 為另一個文件file.c分隔窗口,并指定其行數(shù)
CTRL+W在窗口中切換
:close:關(guān)閉當(dāng)前窗口
v:進(jìn)入visual 模式
【ESC】退出
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報。