vim的模式包括三種:命令方式、輸入方式和ex轉義方式。
輸入模式 命令模式 轉義模式
在shell提示符後輸入命令vi,進入vi編輯器,並處於vi的命令方式。此時,從鍵盤上輸入的任何字元都被作為編輯命令來解釋,例如,
i(insert):表示插入命令,
x:表示刪除字元命令等。
如果輸入的字元不是vi的合法命令,則機器發出「報警聲」,游標不移動。另外,在命令方式下輸入的字元(即vi命令)並不在螢幕上顯示出來,例如,輸入i,螢幕上並無變化,但通過執行i命令,編輯器的工作方式卻發生變化:由命令方式變為輸入方式。
通過輸入vi的命令。
i : 插入命令
a :附加命令
o :開啟命令
s :替換命令
c :修改命令
r :取代命令
在輸入方式下,從鍵盤上輸入的所有字元都被插入到正在編輯的緩衝區中,被當做該檔案的正文。進入輸入方式後,輸入的可見字元都在螢幕上顯示出來,而編輯命令不再起作用,僅作為普通字母出現。例如,在命令方式下輸入字母i,進到輸入方式,然後再輸入i,就在螢幕上相應游標處新增乙個字母i。
由輸入方式回到命令方式的辦法是按下esc鍵。如果已在命令方式下,那麼按下esc鍵就會發出「嘟嘟」聲。為了確保使用者想執行的vi命令是在命令方式下輸入的,不妨多按幾下esc鍵,聽到嘟聲後再輸入命令。
vi和ex編輯器的功能是相同的,二者的主要區別是使用者介面。在vi中,命令通常是單個字母,如a,x,r等。而在ex中,命令是以enter;鍵結束的命令列。vi有乙個專門的「轉義」命令,可訪問很多面向行的ex命令。為使用ex轉義方式,可輸入乙個冒號(:)。作為ex命令提示符,冒號出現在狀態行(通常在螢幕最下一行)。按下中斷鍵(通常是del鍵),可終止正在執行的命令。多數檔案管理命令都是在ex轉義方式下執行的(例如,讀取檔案,把編輯緩衝區的內容寫到檔案中等)。轉義命令執行後,自動回到命令方式。例如:
:1,$s/i/i/g 按enter鍵
則從檔案第一行至檔案末尾($)將大寫i全部替換成小寫i。vi編輯器的三種工作方式之間的轉換如圖所示。
vim 的命令都是基本上是在命令模式下的,在轉義模式下以冒號開始:的是:
u:復原前乙個動作
. : 重複前乙個動作
h(←):游標向左移動乙個字元
j(↓):游標向下移動乙個字元
k(↑):游標向上移動乙個字元
l(→):游標向右移動乙個字元
nh(i/j/k): n表示數字,可以向左/下/上/右移動n個字元
n:那個 n 表示『數字』,例如 20 。按下數字後再按空格鍵,游標會向右移動這一行的 n 個字元。例如 20則游標會向後面移動 20 個字元距離。
0 或功能鍵[home] :這是數字『 0 』:移動到這一行的最前面字元處 (常用)
$ 或功能鍵[end] :移動到這一行的最後面字元處(常用)
h:游標移動到這個螢幕的最上方那一行的第乙個字元
m:游標移動到這個螢幕的**那一行的第乙個字元
l:游標移動到這個螢幕的最下方那一行的第乙個字元
g:移動到這個檔案的最後一行(常用)
ng:n 為數字。移動到這個檔案的第 n 行。例如 20g 則會移動到這個檔案的第 20 行(可配合 :set nu)
gg:移動到這個檔案的第一行,相當於 1g 啊! (常用)
n:n 為數字。游標向下移動 n 行(常用)
ctrl+u:向檔案首翻半屏;
ctrl+d:向檔案尾翻半屏;
ctrl+f:向檔案尾翻一屏;
ctrl+b:向檔案首翻一屏;
zz:命令模式下儲存當前檔案所做的修改後退出vi;
:行號:游標跳轉到指定行的行首;
:$:游標跳轉到最後一行的行首;
/字串:文字查詢操作,用於從當前游標所在位置開始向檔案尾部查詢指定字串的內容,查詢的字串會被加亮顯示;
?字串:文字查詢操作,用於從當前游標所在位置開始向檔案頭部查詢指定字串的內容,查詢的字串會被加亮顯示;
a,bs/f/t:替換文字操作,用於在第a行到第b行之間,將f字串換成t字串。其中,「s/」表示進行替換操作;
n:英文按鍵,與 n 剛好相反,為『反向』進行前乙個搜尋動作
a:在當前字元後新增文字;
a:在行末新增文字;
i:在當前字元前插入文字;
i:在行首插入文字;
o:在當前行後面插入一空行;
o:在當前行前面插入一空行;
yy:複製游標所在的一行
nyy:將當前行及其下n行的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字;
y1g:複製游標所在行到第一行的所有資料
yg:複製游標所在行到最後一行的所有資料
y0:複製游標所在的那個字元到該行行首的所有資料
y$:複製游標所在的那個字元到該行行尾的所有資料
p:貼上文字操作,用於將快取區的內容貼上到當前游標所在位置的下方;
p:貼上文字操作,用於將快取區的內容貼上到當前游標所在位置的上方;
x或x:刪除乙個字元,x刪除游標後的,而x刪除游標前的;
nx:n 為數字,連續向後刪除 n 個字元。舉例來說,我要連續刪除 10 個字元, 『10x』。
d:刪除從當前游標到游標所在行尾的全部字元;
dd:剪下游標所在的向下 n 行,例如 20dd 則是剪下 20 行(常用),用 p/p 可以貼上。
ndd:剪下當前行及其後n-1行;
d1g:刪除游標所在到第一行的所有資料
dg:刪除游標所在到最後一行的所有資料
d$:刪除游標所在處,到該行的最後乙個字元
d0:那個是數字的 0 ,刪除游標所在處,到該行的最前面乙個字元
# 儲存、退出檔案命令
:wq:在命令模式下,執行存檔退出操作;
:w:在命令模式下,執行存檔操作;
:w!:在命令模式下,執行強制存檔操作;
:q:在命令模式下,執行退出vi操作;
:q!:在命令模式下,執行強制退出vi操作;
zz : 這是大寫的 z 喔!如果修改過,儲存當前檔案,然後退出!效果等同於(儲存並退出)
zq:不儲存,強制退出。效果等同於 :q!。
:n1,n2 w [filename]:將 n1 到 n2 的內容儲存成 filename 這個檔案。
:! command:暫時離開 vi 到指令行模式下執行 command 的顯示結果!例如『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案資訊!
:f:在命令模式下,用於顯示當前的檔名、游標所在行的行號以及顯示比例;
:set number:在命令模式下,用於在最左端顯示行號;
:set nonumber:在命令模式下,用於在最左端不顯示行號;
vim 命令 Vim常用命令
4.編輯 我發現膝上型電腦接外接鍵盤以後,使用觸控板和操作滑鼠都變得比較麻煩,所以想要學習一下vim,寫一篇筆記記錄常用命令。基本上vim共分為三種模式,分別是命令模式 command mode 輸入模式 insert mode 和底線命令模式 last line mode 啟動vim,便進入了命令...
VIM常用命令
vim命令記錄 vim是乙個非常強大,也非常複雜的編輯器。就連常用的命令也數以百計,而且通過各種組合,更是能夠達到數量驚人的地步。本文是我跟著vim使用者手冊學習vim的使用而作的記錄,記下一些vim的常用命令,方便查詢和複習。當然了,對於那些十分常用,比如 i 進入insert模式這種命令當然不會...
VIM常用命令
常用命令 1 游標命令 k,j,h,l 上下左右游標移動命令,雖然可以在linux中使用鍵盤右邊的四個游標鍵,但是記住這四個命令還有非常有用的,也就是右手在鍵盤上放置的位置部分 ng n為行數,該命令立即使游標跳到指定行。ctrl g 游標所在位置的行數和列數報告 w,b 使游標向前或向後跳過乙個單...