Vi和Vim編輯器

2021-08-20 17:37:53 字數 3105 閱讀 9652

vi編輯器是所有unix及linux系統下標準的編輯器,他就相當於windows系統中的記事本一樣.

vim 具有程式編輯的能力,可以以字型顏色辨別語法的正確性,方便程式設計;

因為程式簡單,編輯速度相當快速。

vim可以當作vi的公升級版本,他可以用多種顏色的方式來顯示一些特殊的資訊。

vim會依據副檔名或者是檔案內的開頭資訊, 判斷該檔案的內容而自動的執行該程式的語法判斷式,再以顏色來顯示程式**與一般資訊。

vim裡面加入了很多額外的功能,例如支援正規表示式的搜尋、多檔案編輯、塊複製等等。

這對於我們在linux上進行一些配置檔案的修改工作時是很棒的功能。

vi和vim的三種常見模式

正常模式

以vi開啟乙個檔案就直接進入一般模式了(這是預設的模式)。在這個模式中, 你可以使用上下左右按鍵來移動游標,你可以使用刪除字元或刪除整行來處理檔案內容,

也可以使用複製、貼上來處理你的檔案資料。

插入模式/編輯模式

在一般模式中可以進行刪除、複製、貼上等的操作,但是卻無法編輯檔案的內容,只有當到你按下【i, i, o, o, a, a, r, r】等任何乙個字母之後才會進入編輯模式。

這時候螢幕的左下方會出現【insert或 replace】的字樣,此時才可以進行編輯。而如果要回到一般模式時, 則必須要按下【esc】即可退出編輯模式。

命令列模式

輸入【 : / ? 】三個中的任何乙個,就可以將游標移動到最底下那一行。在這個模式中, 可以提供查詢、讀取、存檔、替換字元、離開vi、顯示行號等的動作則是在此模式中完成的!

一般模式可用的按鈕說明

移動游標

【h、j、k、l】,分別控制游標左、下、上、右移一格

按【ctrl+b】螢幕往"後"

移動一頁

按【ctrl+f】螢幕往"前"

移動一頁

【n】游標向右移動n個字元

【home】移動到這一行的最前面字元處:0數字,但不能用數字小鍵盤上的數字

【end】 移動到這一行的最後面字元處:$,我測試好像不行

【w】游標跳到下個字的開頭

【e】游標跳到下個字的字尾

【h】 游標移動到這個螢幕的最上方那一行的第乙個字元

【m】 游標移動到這個螢幕的中間那一行的第乙個字元

【l】游標移動到這個螢幕的最下方那一行的第乙個字元

【g】 移動到這個檔案的最後一行

【ng】移動到這個檔案的第n行(可配合:

setnu)

【gg】 移動到這個檔案的第一行,相當於1g

【n】游標向下移動n行

查詢與替換

【/word】 向游標向下尋找乙個名稱為word的字串

【?word】 向游標向上尋找乙個名稱為word的字串

【n】 代表重複前乙個查詢的動作

【n】 與n剛好相反,為【反向】進行行前乙個查詢動作

【:n1,n2s/word1/word2/g】 n1與n2為數字,在第n1與n2行之間查詢word1 這個字串,並將該字串替換為word2

【:1,$s/word1/word2/g】 從第一行到最後一行查詢word1字串,並將該字串替換為word2

【:1,$s/word1/word2/gc】 從第一行到最後一行查詢word1字串,並將該字串替換為word2 ,且在替換前提示使用者確認是否進行替換

刪除、複製與貼上

【x】 為向後刪除乙個字元 (相當於【del】鍵)

【x】 為向前刪除乙個字元(相當於【backspace】鍵)

【nx】 連續向後刪除n個字元

【dd】 刪除游標所在行

【ndd】 刪除游標所在的向下n行

【d1g】 刪除游標所在行到第一行的所有資料

【dg】 刪除游標所在到最後一行的所有資料

【d$】 刪除游標所在處,到該行的最後乙個字元

【d0】 刪除游標所在處,到該行的最前乙個字元

【yy】 複製游標所在的那一行

【nyy】 複製游標所在的向下n列

【y1g】 複製游標所在行到第一行的所有資料

【yg】 複製游標所在行到最後一行的所有資料

【y0】 複製游標所在的那個字元到該行行首的所有資料

【y$】 複製游標所在的那個字元到該行行尾的所有資料

【p】將已複製的資料在游標下一行貼上上

【p】 則為貼在游標的上一行

【u】 恢復前乙個操作

【ctrl+r】重做上乙個操作

【.】 是重複前乙個操作

一般模式切換到編輯模式的可用的按鈕說明

i 為【從目前游標所在處插入】

i 為【在目前所在行的第乙個非空格符處開始插入】

a 為【從目前游標所在的下乙個字元處開始插入】

a 為【從游標所在行的最後乙個字元處開始插入】

o 為【在目前游標所在的下一行處插入新的一行】

o 為在目前游標所在處的上一行插入新的一行

【r, r】 進入取代模式:

r 只會取代游標所在的那乙個字元一次

r會一直取代游標所在的文字,直到按下 esc 為止;

【esc】 退出編輯模式,回到一般模式

一般模式切換到命令列模式可用的按鈕說明

【:w】 儲存編輯的內容

【:w!】強制寫入該檔案,但跟你對該檔案的許可權有關

【:q】 離開vi

【:q!】 不想儲存修改強制離開

【:wq】 儲存後離開

【:x】 儲存後離開

【zz】 若檔案沒有更動,則不儲存離開,若檔案已經被更改過,則儲存後離開

【:w filename】 將編輯的資料儲存成另乙個檔案(類似另存)

【:r filename】 在編輯的資料中,讀入另乙個檔案的資料。即將【filename】 這個檔案的內容加到游標所在行後面。

【:n1,n2 w filename】 將n1到n2的內容儲存成filename這個檔案。

【:! command】暫時離開vi 到命令列模式下執行command的顯示結果!例如 【:! ls /home】即可在 vi 當中察看/home底下以ls輸出的檔案資訊!

【:set

nu】 顯示行號

【:set nonu】 與 set nu 相反,為取消行

vi和vim編輯器

vi vim 是上linux非常常用的編輯器,很多linux發行版都預設安裝了vi vim vi vim 命令繁多但是如果使用靈活之後將會大大提高效率。vi是 visual inte ce 的縮寫,vim是vi improved 增強版的vi 在一般的系統管理維護中vi就夠用,如果想使用 加亮的話可...

vi和vim編輯器

所有的linux系統都會內建 vi文字編輯器 vim具有程式編輯的能力,可以看做是vi的增強版本 1 正常模式 在正常模式下,我們可以使用快捷鍵 以vim代開乙個檔案就直接進入正常模式了,在這個模式中可以使用 上下左右 按鍵來移動游標,你可以使用 刪除字元 或 刪除整行 來處理檔案內容,也可以使用 ...

五 Vi和Vim編輯器

在linux下一般使用vi編輯器來編輯檔案。vi既可以檢視檔案也可以編輯檔案。三種模式 命令列 插入 底行模式 切換到命令列模式 按esc鍵 切換到插入模式 按 i o a鍵 i 在當前位置前插入 i 在當前行首插入 a 在當前位置後插入 a 在當前行尾插入 o 在當前行之後插入一行 o 在當前行之...