vi是unix世界裡極為普遍的全螢幕文字編輯器,vim是它的改進版本vi improved的簡稱。幾乎可以說任何一台unix機器都會提供這套軟體。
只要簡單的在shell下執行vi就可以進入 vi 的編輯環境。在實際操作之前先對它有個了解會比較好。
vi 有兩種模式,輸入模式以及指令模式。輸入模式即是用來輸入文字資料,而指令模式則是用來下達一些編排檔案、存檔、以及離開 vi 等等的操作指令。當執行 vi 後,會先進入指令模式,此時輸入的任何字元都視為指令。
第一步:
1、文字編譯工具vi使用
vi的名字取自於visual,意為「直觀」,它是乙個全螢幕編輯程式。還有gedit、emacs在linux系統中vi是最常用的編輯程式,它的文字編輯功能十分強大,但使用起來比較複雜。
2、linux系統中的vi其實是vim,是vi的增強版。vi編輯程式有兩種工作模式:
命令模式(指令模式):此模式下的按鍵當作指令來處理。
輸入模式:此模式的按鍵作為真正的輸入。
第二步:
vi操作模式的切換,要進入輸入模式,可以按如下命令鍵:
新增:『a』,從游標後開始輸入文字。『a』,從游標所在行末尾輸入新的文字。
插入:『i』,從游標前開始插入文字。『i』,從游標行的第乙個非空格字元前開始插入文字。
開始:『o』,從游標所在行下新增一行並進入輸入模式。『o』,從游標所在行上新增一行並進入輸入模式。
第三步:
從輸入模式按esc進入命令模式
第四步:
進入和退出vi
進入vi,在提示符下:
vi vi 檔名
退出vi,在指令模式下:
:q,退出
:wq,存檔後退出
:q!,不存檔強制退出
:x,強制存檔退出
第五步:
刪除和修改文字
指令模式下:
x:刪除游標處的乙個字元
dd:刪除游標所在行
r:修改游標所在字元
r:進入改寫狀態
s:刪除游標所在字元,並進入輸入狀態
s:刪除游標所在行,並進入輸入狀態
第六步:
游標移動
1、指令模式下:
h:向左移動一列
j 或+:向下移動一行
k 或-:向上移動一行
l:向右移動一列
組合:nh,nj,nk,nl。分別是移動n行(列)
在有方向鍵的鍵盤上,無論指令模式或輸入模式都可以用方向箭頭來移動游標
2、游標按行移動
指令模式下:
:n回車:將游標移動到第n行
:$回車或者l:將游標移動到最後一行
m:將游標移動到中間一行
h:將游標移動到第一行
:set number:顯示行號
:set nonumber:取消顯示行號
3、游標按單詞移動
指令模式下:
b:將游標移動到前乙個單詞頭
組合:nw、nb、ne
4、游標按字元移動
指令模式下:
$:將游標移動到當前行尾
^或0:將游標移動到當前行首
n|:將游標移動到當前行的第n個字元
游標返回原處
兩個單引號『』
第七步:
文字編輯
1、翻頁
指令模式下:
ctrl+d:下翻半屏
ctrl+u:上翻半屏
ctrl+f:下翻一屏
ctrl+b:上翻一屏
2、查詢
指令模式下:
/string:從當前位置向前查詢字串string
?string:從當前位置向後查詢字串string
繼續查詢:
n:沿前述查詢方向繼續查詢同一字串
n:沿前述查詢方向的反方向繼續查詢同一字串
3、刪除文字
指令模式下:
x:刪除字元
dw:刪除單詞
dd:刪除行
d:刪除從游標到行末所有字元
dfm:刪除從游標到第乙個字元m間的文字
:5d:刪除第5行
:5,$d:刪除從第5行到最後一行
可以和整數n組合
4、撤銷和重複命令
指令模式下:
u:撤銷最後乙個更改操作
u:撤銷對本行的所有修改
5、文字替換
指令模式下:
m:替換當前字元為m,替換後仍為命令模式
r:替換當前字元後的一系列字元,替換後變為輸入模式。
s:多個字元替換單個字元
cw:單詞替換
cc:行替換
c:替換當前行剩餘部分
cfm:替換當前字元到指定的字元m
6、文字刪除與替換對比
命令型別 刪除 替換
字元 x r
單詞 dw cw
行 dd cc
從游標到行尾 d c
從游標到字元m dfm cfm
7、全域性替換
指令模式下:
搜尋當前行的第乙個例項
:s/bash/sch把當前行的第乙個bash換為sch
搜尋指定行的第乙個例項
:1,10s/bash/sch 把1到10行bash換為sch
:5,$s/bash/sch 把5到末行bash換為sch
設定過濾條件進行搜尋
:g/var/s/bash/sch把包含var行中的bash替換為sch
同一行中替換所有例項
:s/bash/sch/g把當前行中所有bash替換為sch
替換整個檔案中的所有例項
:1,$s/bash/sch/g把整個檔案中的bash替換為sch
8、移動和複製文字
指令模式下:
yy:複製當前行
dd:剪下當前行(刪除)
p、p:貼上當前行
9、複製和移動文字塊
指令模式下:
把某(幾)行複製並貼上到某行後
:5 copy8 把5行複製並貼上到第8行後
:1,5 copy$ 把1-5行複製並貼上到末行後
:.,$ copy0 把當前行到末行複製並貼上到檔案頭
把copy改為move即為移動文字塊(注:.表示當前行,0表示檔案頭,$表示檔案尾)
第八步:
檔案儲存
指令模式下:
:w 儲存檔案
:wq或者:x或者zz 儲存並退出vi,返回linux提示符
:w f1.c 把當前檔案另存為f1.c
:q! 放棄對檔案的儲存,直接退出
1、儲存文字塊
指令模式下:
:2,5 write f2 把第2到第5行另存為檔案f2
儲存文字塊,並直接覆蓋掉已有(如果有)檔案
:2 write! f2 把第2行強行另存為檔案f2
向檔案追加文字
:2 write >> f2 把第2行追加到檔案f2末尾
第九步:
與shell互動
指令模式下:
讀某檔案的內容到當前開啟檔案
:5 read a 把檔案a中的內容讀到當前開啟檔案的第5行後
在vi中執行shell命令
:!pwd
在vi中執行shell命令,並把結果新增到vi中
:5 read! pwd把pwd執行結果插入到第5行後
:e 在vi中編輯某檔案時,不退出vi而建立新檔案
:n 在vi中編輯某檔案時,不退出vi而載入新檔案
Linux中vi vim命令詳解
新增修改配置檔案一般都是使用預設的vi編輯器,長期編輯 的程式設計師會使用功能更強大的編輯器。簡單介紹下vi編輯器的使用方法 一 vi可以分為三種狀態,分別是命令模式 command mode 插入模式 insert mode 和底行模式 last line mode 各模式的功能區分如下 1 命令...
Linux中vi vim命令大全
vi 是 unix linux 下極為普遍的一種文字編輯器.vi 有各種變種,在不同的機器上有不同的變種軟體.其中 vim 比較好用也用得比較廣泛.vim 是 vi improved 的縮寫,表示更好的 vi.本文就說些其中比較有用,比較常用的命令一 一般模式 刪除 複製與貼上類命令 x,x x為向...
Linux 中 VI VIM 編譯器
1.vi 與 vim 所有的 unix like 系統都會內建 vi 文字編輯器,其他的文書編輯器則不一定會存在,但是目前我們使用比較多的是 vim 編輯器。vim 具有程式編輯的能力,可以主動的以字型顏色辨別語法的正確性,方便程式設計。vim是從 vi 發展出來的乙個文字編輯器。補完 編譯及錯誤跳...