資料:vi常用命令及快捷鍵
[ 分類:
資源分享 ][閱讀:4622 ][ 日期:
2007-12-6 ][ 來自:
飄雪工作室 ]
游標控制命令
命令游標移動
h或^h向左移乙個字元
j或^j或^n向下移一行
k或^p向上移一行
l或空格向右移乙個字元
g移到檔案的最後一行
ng移到檔案的第n行
w移到下乙個字的開頭
w移到下乙個字的開頭,忽略標點符號
b移到前乙個字的開頭
b移到前乙個字的開頭,忽略標點符號
l移到螢幕的最後一行
m移到螢幕的中間一行
h移到螢幕的第一行
e移到下乙個字的結尾
e移到下乙個字的結尾,忽略標點符號
(移到句子的開頭
)移到句子的結尾
移到下乙個段落的開頭
0或|移到當前行的第一列
n|移到當前行的第n列
^移到當前行的第乙個非空字元
$移到當前行的最後乙個字元
+或return移到下一行的第乙個字元
-移到前一行的第乙個非空字元
在vi中新增文字
命令插入動作
a在游標後插入文字
a在當前行插入文字
i在游標前插入文字
i在當前行前插入文字
o在當前行的下邊插入新行
o在當前行的上邊插入新行
:rfile讀入檔案file內容,並插在當前行後
:nrfile讀入檔案file內容,並插在第n行後
escape回到命令模式
^vchar插入時忽略char的指定意義,這是為了插入特殊字元
在vi中刪除文字
命令刪除操作
x刪除游標處的字元,可以在x前加上需要刪除的字元數目
nx從當前游標處往後刪除n個字元
x刪除游標前的字元,可以在x前加上需要刪除的字元數目
nx從當前游標處往前刪除n個字元
dw刪至下乙個字的開頭
ndw從當前游標處往後刪除n個字
dg刪除行,直到檔案結束
dd刪除整行
ndd從當前行開始往後刪除
db刪除游標前面的字
ndb從當前行開始往前刪除n字
:n,md從第m行開始往前刪除n行
d或d$從游標處刪除到行尾
dcursor_command刪除至游標命令處,如dg將從當產膽行刪除至檔案的末尾
^h或backspace插入時,刪除前面的字元
^w插入時,刪除前面的字
修改vi文字
每個命令前面的數字表示該命令重複的次數
命令替換操作
rchar用char替換當前字元
rtextescape用text替換當前字元直到換下esc鍵
stextescape用text代替當前字元
s或cctextescape用text代替整行
cwtextescape將當前字改為text
ctextescape將當前行餘下的改為text
cgescape修改至檔案的末尾
ccursor_cmdtextescape從當前位置處到游標命令位置處都改為text
在vi中查詢與替換
命令查詢與替換操作
/text在檔案中向前查詢text
?text在檔案中向後查詢text
n在同一方向重複查詢
n在相反方向重複查詢
ftext在當前行向前查詢text
ftext在當前行向後查詢text
ttext在當前行向前查詢text,並將游標定位在text的第乙個字元
ttext在當前行向後查詢text,並將游標定位在text的第乙個字元
:setic查詢時忽略大小寫
:setnoic查詢時對大小寫敏感
:s/oldtext/newtext用newtext替換oldtext
:m,ns/oldtext/newtext在m行通過n,用newtext替換oldtext
&重複最後的:s命令
:g/text1/s/text2/text3查詢包含text1的行,用text3替換text2
:g/text/command在所有包含text的行執行command所表示的命令
:v/text/command在所有不包含text的行執行command所表示的命令
在vi中複製文字
命令複製操作
yy將當前行的內容放入臨時緩衝區
nyy將n行的內容放入臨時緩衝區
p將臨時緩衝區中的文字放入游標後
p將臨時緩衝區中的文字放入游標前
"(a-z)nyy複製n行放入名字為圓括號內的可命名緩衝區,省略n表示當前行
"(a-z)ndd刪除n行放入名字為圓括號內的可命名緩衝區,省略n表示當前行
"(a-z)p將名字為圓括號的可命名緩衝區的內容放入當前行後
"(a-z)p將名字為圓括號的可命名緩衝區的內容放入當前行前
在vi中撤消與重複
命令撤消操作
u撤消最後一次修改
u撤消當前行的所有修改
.重複最後一次修改
,以相反的方向重複前面的f、f、t或t查詢命令
;重複前面的f、f、t或t查詢命令
"np取回最後第n次的刪除(緩衝區中存有一定次數的刪除內容,一般為9)
n重複前面的/或?查詢命令
n以相反方向重複前面的/或?命令
儲存文字和退出vi
命令儲存和/或退出操作
:w儲存檔案但不退出vi
:wfile將修改儲存在file中但不退出vi
:wq或zz或:x儲存檔案並退出vi
:q!不儲存檔案,退出vi
:e!放棄所有修改,從上次儲存檔案開始再編輯
vi中的選項
選項作用
:setall列印所有選項
:setnooption關閉option選項
:setnu每行前列印行號
:setshowmode顯示是輸入模式還是替換模式
:setnoic查詢時忽略大小寫
:setlist顯示製表符(^i)和行尾符號
:setts=8為文字輸入設定tabstops
:setwindow=n設定文字視窗顯示n行
vi的狀態
選項作用
:.=列印當前行的行號
:=列印檔案中的行數
^g顯示檔名、當前的行號、檔案的總行數和檔案位置的百分比
:l使用字母"l"來顯示許多的特殊字元,如製表符和換行符
在文字中定位段落和放置標記
選項作用
{在第一列插入{來定義乙個段落
[[回到段落的開頭處
]]向前移到下乙個段落的開頭處
m(a-z)用乙個字母來標記當前位置,如用mz表示標記z
'(a-z)將游標移動到指定的標記,如用'z表示移動到z
在vi中連線行
選項作用
j將下一行連線到當前行的末尾
nj連線後面n行
游標放置與螢幕調整
選項作用
h將游標移動到螢幕的頂行
nh將游標移動到螢幕頂行下的第n行
m將游標移動到螢幕的中間
l將游標移動到螢幕的底行
nl將游標移動到螢幕底行上的第n行
^e(ctrl+e)將螢幕上滾一行
^y將螢幕下滾一行
^u將螢幕上滾半頁
^d將螢幕下滾半頁
^b將螢幕上滾一頁
^f將螢幕下滾一頁
^l重繪螢幕
z-return將當前行置為螢幕的頂行
nz-return將當前行下的第n行置為螢幕的頂行
z.將當前行置為螢幕的**
nz.將當前行上的第n行置為螢幕的**
z-將當前行置為螢幕的底行
nz-將當前行上的第n行置為螢幕的底行
vi中的shell轉義命令
選項作用
:!command執行shell的command命令,如:!ls
:!!執行前乙個shell命令
:r!command讀取command命令的輸入並插入,如:r!ls會先執行ls,然後讀入內容
:w!command將當前已編輯檔案作為command命令的標準輸入並執行command命令,如:w!grepall
:cddirectory將當前工作目錄更改為directory所表示的目錄
:sh將啟動乙個子shell,使用^d(ctrl+d)返回vi
:sofile在shell程式file中讀入和執行命令
vi中的巨集與縮寫
(避免使用控制鍵和符號,不要使用字元k、v、g、q、v、*、=和功能鍵)
選項作用
:mapkeycommand_seq定義乙個鍵來執行command_seq,如:mapeea,無論什麼時候都可以e移到乙個字的末尾來追加文字
:map在狀態行顯示所有已定義的巨集
:umapkey刪除該鍵的巨集
:abstring1string2定義乙個縮寫,使得當插入string1時,用string2替換string1。當要插入文字時,鍵入string1然後按esc鍵,系統就插入了string2
:ab顯示所有縮寫
:unastring取消string的縮寫
在vi中縮排文字
選項作用
^i(ctrl+i)或tab插入文字時,插入移動的寬度,移動寬度是事先定義好的
:setai開啟自動縮排
:setsw=n將移動寬度設定為n個字元
n《使n行都向左移動乙個寬度
n>>使n行都向右移動乙個寬度,例如3>>就將接下來的三行每行都向右移動乙個移動寬度
Linux常用命令以及快捷鍵
一 1 linux命令格式 命令名 選項 引數 2 pwd 檢視當前所在路徑 3 ls 顯示指定路徑下有哪些內容 黑色 綠色的代表檔案,藍色的代表資料夾 ls l 顯示內容詳細資訊 ls a 顯示包含隱藏的內容 帶.的內容 ls al 顯示包含隱藏內容的詳細資訊 ls la 同上 4 路徑 絕對路徑...
vi vim常用命令 快捷鍵
命令模式下 複製,刪除 剪下 yy 複製游標所在一行 3yy 複製游標所在行及向下2行 p 貼上 dd 剪下 刪除游標所在一行 3dd 剪下 刪除游標所在行及向下兩行 d 從當前的游標開始剪下一直到行末 d0 從當前游標開始剪下一直到行首 x 刪除當前的游標,每次只會刪除乙個 x 刪除當前游標前面的...
快捷鍵和常用命令
win r 調出執行視窗 mspaint 寫字板 win e 檔案資源管理器 ctrl shift esc 任務管理器 最下面空白處右鍵也可 ctrl a 全選 ctrl x 剪下 alt f4 關閉視窗 ctrl z 撤銷 ctrl c 複製 ctrl v 貼上 shift delete 永久刪除...