習慣了在mac/linux下工作的人,可能需要了解一些vi/vim編輯器相關的命令。vim是vi improved的縮寫。在vi原有的基礎上進行了很大的擴充套件。下面分別介紹vi常用的命令。
操作符功能
^移動到該行第乙個非空格字元處
w向前移動乙個word,將符號或標點當做單詞處理
w向前移動乙個word,不把符號或標點當做單詞處理
b向後移動乙個word,把符號或標點當做單詞處理
b向後移動乙個word,不把符號或者標點當做單詞處理
(游標移動至句首
)游標移動至句末
游標移動至段落結尾
h游標移動至螢幕中間行
m游標移動至螢幕中間行
l游標移動至螢幕最後行
0(數字零)
到行首$
到行末gg
到頁首g
到頁末行號+g
跳轉到指定行
n+(n為數字)
游標下移n行
n-游標上移 n 行
control+g(注意:不是command)
查詢當前行資訊和當前檔案資訊
fx向右跳轉到游標同行字元x處(x可以是任意字元)
fx向左跳轉到游標同行字元x處(x可以是任意字元)
tx和fx相同,區別是跳到字元x之前
tx和fx相同,區別是調到字元x之後
control+b
向上滾動一屏
control+f
向下滾動一屏
control+u
向上滾動半屏
control+d
向下滾動半屏
control+y
向上滾動一行
control+e
向下滾動一行
操作符功能
vi filename
開啟或新建檔案,並將游標置於第一行首
vi +n filename (eg: vi +3 ~/.bash_profile)
開啟檔案,並將游標置於第n行首
vi + filename
開啟檔案,並將游標置於最後一行首
vi +/pattern filename
開啟檔案,並將游標置於第乙個與pattern匹配的串處
vi -r filename
在上次正用vi編輯時發生系統崩潰,恢復filename
vi filename … filename
開啟多個檔案,依次進行編輯
zz退出vi並儲存
:q!退出vi,不儲存
:wq退出vi並儲存
操作符功能
control+n
匹配下乙個關鍵字
control+p
匹配上乙個關鍵字
操作符功能
o (小寫字母o)
在游標下方新開一行並將游標置於新行行首,進入插入模式
o (大寫字母o)
在游標上方新開一行並將游標置於新行行首,進入插入模式
a在游標之後進入插入模式
a在游標之前進入插入模式
r進入替換模式,直到按下esc
操作符功能
j將當前行的下面一行合併到當前行後面
操作符功能
/pattern
從游標處向檔案尾搜尋pattern
?pattern
從游標處想檔案首搜尋pattern
n(配合/pattern 和 ?pattern使用)
在同一方向重複上一次搜尋命令
n(配合/pattern 和 ?pattern使用)
在反方向上重複上一次搜尋命令
:s/p1/p2/g
(注意:是行操作)當前行中所有p1均用p2替代,若要每個替換都向使用者詢問則應該用gc選項
:n1,n2s/p1/p2/g
將n1至n2行中所有p1均用p2替代,若要每個替換都向使用者詢問則使用gc選項
:g/p1/s//p2/g
將檔案中所有p1均用p2替換
注意:.*^%~$在vi中有特殊的含義,若需要查詢則應該加上轉義字元「\」操作符
功能:set hlsearch
設定高亮查詢
:set nohlsearch
關閉高亮查詢
:nohlsearch
關閉當前已經設定的高亮
:set incsearch
設定增量查詢
:set noincsearch
關閉增量查詢
操作符功能
x刪除當前游標下的字元
dw刪除游標之後的單詞剩餘部分
d$刪除游標之後的該行剩餘部分
dd刪除當前行
c功能和 d相同,區別在於完成刪除操作後進入插入模式
cc功能和 dd相同,然後進入插入模式
操作符功能
rx將當前游標下的字元更改為x(x為任意字元)
~更改當前游標下的字元的大小寫
操作符功能
qcharacter
開始錄製巨集,character為a到z的任意字元
q終止錄製巨集
@character
呼叫先前錄製的巨集
操作符功能
u撤銷最後執行的命令
u修正之前對該行的操作(注意是行操作)
control + r
重新執行被撤銷的命令
操作符功能
yy複製當前整行(配合p使用,貼上)
nyy複製當前行開始的n行內容(n為整數)
?nyy
將游標當前行及其以下n行的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字
?nyw
將游標當前行及其以下n個詞的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字
?nyl
將當前行及其下n個字元儲存到暫存器?中,其中?為乙個字母,n為乙個數字
?p將暫存器?中的內容貼上到游標位置之後。如果?是用yy複製的完整行,則貼上在游標所在行下面。這裡?可以是乙個字母,也可以是乙個數字。
?p (大寫p)
將暫存器a中得內容貼上到游標位置之前。如果?是用yy複製的完整行,則貼上在游標所在行上面。這裡?可以使乙個字母,也可以是乙個數字
ay[motion]
分類如下
ay$複製游標位置到行末並儲存在暫存器a中
ayft
複製游標位置到當前行第乙個字母t並儲存在暫存器a中
以上指令皆可去掉a工作,則y,p對未命名暫存器工作(所有d,c,x,y的物件都被儲存在這裡)。所有刪除的內容自動被儲存,可以用p鍵貼上
操作符功能
all列出所有選項設定情況
term
設定終端型別
ignorance
在搜尋中忽略大小寫
list
顯示製表(control+i)和行尾標誌($)
number
顯示行號
report
顯示由面向行的命令修改過的資料
terse
顯示簡單的警告資訊
warn
在轉到別的檔案時若沒有儲存當前檔案則顯示no write資訊
nomagic
允許在搜尋模式中,使用前面不帶轉義字元」\」的特殊字元搜尋
nowrapscan
禁止vi在搜尋到達檔案兩端是,又從另一端開始
mesg
允許vi顯示其他使用者用write寫到自己終端上得資訊
操作符功能
gg對**自動進行格式化
g對**進行格式化
vi vim編輯器常用命令
插入模式常用命令 可視模式常用命令 vim是從 vi 發展出來的乙個文字編輯器。補完 編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。簡單的來說,vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。vim 則可以說是程式開發者的一項很好用的工具。正常模式 n...
Linux檔案編輯器 Vi(Vim)常用命令
linux檔案編輯器 vi vim root localhost vi filename 檔案的儲存和退出 當我們按esc鍵後,接著再輸入 號時,vi會在螢幕的最下方等待我們輸入命令 w 儲存 w filename 另存為filename wq 儲存退出 wq filename 注 以filenam...
Linux中vi vim編輯器的常用命令
輸入模式 insert mode 末行模式 last line mode cat 檔名 檢視檔案 vi 檔名 編輯檔案 vim 檔名 編輯檔案 不掌握vi vim命令,都不好意思說自己會linux命令。所以總結一下vim編輯器的常用命令,學會之後,在linux總操作檔案6的飛起。配置檔案是linux...