vim編輯器是linux系統自帶的編輯器,其操作較一般的編輯器要複雜許多,但熟練運用vim會極大地提公升linux系統下編輯文字的速度。看完本文趕緊去試下吧!
vim有三種模式,分別為命令模式(command mode),編輯模式(insert mode)及末行模式(last line mode)。我們在剛進入vim編輯器時為命令模式,在按下a時會進入編輯模式,同時螢幕的左下角會顯示insert,此時就可以輸入你想要的文字。在完成輸入操作後,按下esc鍵會退回到命令模式,此時按下:就會進入末行模式,其實就是vim的命令列模式,在此模式按下wq就可以儲存檔案並退出了。
注:下文中命令前出現:均表示在末行模式中執行
開啟檔案
開啟單個檔案或者新建單個檔案:
vim filename
:e!
編輯檔案1時不儲存退出編輯檔案2:
:open filename2
多檔案:sp file 新建視窗開啟 filename 並水平分割視窗
:vsp file 新緩視窗開啟 filename 並垂直分割視窗
ctrl + ws 水平分割視窗
ctrl + wv 垂直分割視窗
ctrl + ww 在視窗間切換
ctrl + wq 關閉視窗
ctrl + wh 切換到右側視窗
ctrl + wl 切換到左側視窗
ctrl + wj 切換到下側視窗
ctrl + wk 切換到上側視窗
:qall! 不儲存退出所有視窗
插入i 在當前位置的前插入新的字元
i 在當前行的行首插入新的字元
a 在當前位置的後面插入新的字元
a 在當前行的行尾插入新的字元
o 在當前行的下面插入乙個新行
o 在當前行的上面插入乙個新行
查詢/pattern 向下搜尋pattern
?pattern 向上搜尋pattern
vim中搜尋特殊字元需要進行轉義包括 . \ * / ? ~ $ % ^ *等
游標選擇某個單詞,按住shift+3,即可把所有的單詞標註出來
n 切換下乙個搜尋結果
n 切換上乙個搜尋結果
:noh 取消搜尋結果的高亮顯示
替換命令:s/old/new 用new去替換當前行匹配到的第乙個old
:%s/old/new 用new去替換全文各行的第乙個old
:s/old/new/g 用new替換當前行的所有old
:s/old/new/g 將全文中的old用new替換
此外還可以指定行數進行替換:
如要替換11-23行所有的old,可以鍵入如下指令:
:11,23 s/old/new/g
若要在23-35行所有行前加4個空格以示縮排,可以鍵入如下指令:
:23,35 s/^/ /g
撤銷與重做u 撤銷上一步操作
ctrl+r 重做,即對撤銷的撤銷
刪除x 刪除當前字元,即游標在哪個位置就刪除那個位置的字元
5x 從當前游標開始往後刪除5個字元
x 刪除當前字元前的乙個字元
5x 從當前游標往前刪除5個字元(不包括當前字元)
d$ 刪除當前字元至行尾所有單詞
d^ 刪除當前字元至行首前的所有字元(不包括當前字元)
dw 刪除當前字元至單詞尾部
daw 刪除游標所在的單詞
dd 刪除游標所在行的整行
ndd 刪除游標所在行及其下共5行
s 刪除當前行並進入編輯模式
dgg 刪除當前行至文件首部的所有行 效果等同於末行模式下的:1,.d
dg 刪除當前行至文件尾部的所有行 效果等同於末行模式下的:.,$d($表示最後一行)
末行模式下還可以進行更加複雜的操作而不需要考慮游標的位置
如刪除第11行至34行的操作就可以這樣
:11,34d
複製貼上yy 複製游標所在的當前行
5yy 複製游標及下面共5行
yg 複製當前行至文件開始的所有行
ygg 複製當前行至文件結束的所有行
yw 複製當前游標所在處的乙個單詞
j 將下一行內容移動到本行的末尾
同樣的在末行模式下也可以跨行複製,如複製11至34行
:11,34y
把10至23行的內容移動到56行之後,可以使用
:10,23 m 56
使用p把dd刪除或yy複製的內容貼上出來
p 在當前行的下面貼上
p 在當前行的上面貼上
快速操作:
ddp 快速交換當前行及下一行
yyp 快速複製當前行並貼上
儲存及退出:wq 儲存並退出
:x 儲存並退出
:q 直接退出
:q! 強制退出不做更改
zz 儲存並退出
移動
移動操作並不常用,畢竟↑↓←→鍵就可以完成而且無需記憶
h 游標向←移動1個字元 10h 游標向←移動10個字元
l 游標向→移動1個字元 10l 游標向→移動10個字元
j 游標向↑移動1個字元 10j 游標向↑移動10個字元
k 游標向↓移動1個字元 10k 游標向↓移動10個字元
gg 移動到文件頭部,等同於:1
g 移動到文件尾部,等同於:$
當然你也可以在開啟檔案時就指定行數,比如想開啟檔案時直接到最後一行,可以使用
vim + filename
開啟檔案直接到哪一行
vim +n filename #開啟檔案直接到第n行,而不用開啟檔案後在移動游標
視覺化v 進入視覺化,左下角顯示視覺化或者visual
v 進入可視行,左下角顯示可視行或者visual line
ctrl+v 進入可視塊,左下角顯示可視塊或者visual block
上述選擇使用上下左右鍵,非滑鼠
d 刪除選中文字
y 複製選中文字
gu 選中區域轉為小寫
gu 選中區域轉為大寫
g~ 大小寫互調
> 向右縮排乙個單位
< 向左縮排乙個單位
其他操作:!command執行命令,如:!ls會列出本文件當前目錄的所有檔案而不用退出文件
:suspend或crtl-z掛起vim,回到shell,可以使用fg返回vim編輯器
:set nu 設定行號,可將此命令寫入vim的配置檔案/etc/vimrc或者~/.vimrc,就可以保證每次開啟都顯示行數
:set ff=unix 設定文件的dos編碼為unix風格,在vim開啟亂碼時可以嘗試使用該命令修正
:set syntax=? 設定文件的語言為?,如c,python,sh
:set syntax獲得目前的文件語言
:set paste 解決複製文字來時縮排亂的問題
複雜注釋
:3,10 s/^/#/g 注釋3至5行
:3,10 s/^#//g 取消注釋3至10行
:1,$ s/^/#/g 注釋整個文件
:1,$ s/^#//g 取消注釋整個文件 #全選整篇文件也可使用%來替換
vim編輯器的用法
命令模式 控制游標移動,可對文字進行刪除 複製 貼上 一 將其他內容匯入到現在的游標所在處r root readme二 不退出的情況下,執行一些命令 直接在末行模式下輸入 並在後面加命令即可 三 匯入命令執行結果r 命令四 使用map自定義快捷鍵map ctrl v 自定義使用的乙個鍵 你想要的操作...
vim 編輯器基本用法
一 開啟檔案 vim path to somefile vim 開啟檔案,定位至第 行 vim 開啟檔案至最後一行 vim pattern 開啟檔案,定位至第一次被pattern匹配到的行首 二 模式轉換 vim模式 編輯模式 命令模式 輸入模式 末行模式 模式轉換 i 在當前游標所在字元的前面,轉...
vim編輯器的常見用法
1.儲存退出 未修改退出 不儲存退出 命令 命令模式下使用wq命令表示儲存退出 使用q命令表示未修改退出 使用q 表示不儲存修改內容退出。注 使用vim命令開啟乙個文字時,預設進入到一般模式,在一般模式下按i會進入編輯模式,按 會進入命令模式 在編輯模式或者命令模式下都可以通過按esc鍵回到一般模式...