Vi常用命令

2021-07-09 16:14:35 字數 3136 閱讀 3727

在linux系統中,常用的文字編譯器有三種 ,vi,emacs和gedit。vi是應用最廣的文字編譯器。emacs和gedit都是圖形化的文字編譯工具,但是emacs的應用越來越少。不管是嵌入式系統還是在linux伺服器系統中,不管是本地操作還是網路終端控制,vi都是最方便的編輯工具。

vi是visual inte***ce的簡稱。vi是乙個功能強大的文字編輯工具,它可以執行輸出、刪除、查詢、替換、塊操作等眾多文字操作,而且使用者可以根據自己的需要對其進行定製。

如果要啟動vi,直接使用"vi 檔名"即可,例如要開啟hello.c檔案,則輸入下面的命令即可,

vi hello.c
如果hello.c不在當前目錄下,就建立該檔案 。啟動vi

時還有乙個中看不中用的功能:

如果輸入 vi +2 hello.c ,則啟動之後就自動跳轉檔案的第二行。這個其實沒什麼用,除非你對要操作的檔案非常熟悉。但是還有乙個不過的用法

vi +/int hello.c
此時,vi開啟檔案之後將自動跳轉到第乙個出現int的位置。

如果要退出vi時,可以使用以下幾種方法:

1.簡單退出

在命令模式下,連按兩次大寫字母z,或者在末行模式下輸入命令:

:x
這兩種方式實現的功能相同,若當前編輯的檔案曾被修改過,則vi儲存該檔案後退出;如果當前編輯的檔案沒有被修改過,則vi直接退出。

2.儲存新檔案退出

在末行模式下輸入命令

:w
vi儲存當前編輯的檔案,但並不退出,而是繼續等待使用者輸入命令。在使用w命令是,可以再給編輯檔案起乙個新的檔名,例如

:w newfile
此時,vi將把當前檔案的內容儲存到指定的newfile中,而原有的檔案保持不變。

如果newfile是乙個已經存在的檔案,則上面會出現「檔案已經存在」錯誤提示,此時可以使用下面的命令來覆蓋newfile檔案,或者更換新名稱:

:w! newfile
3.直接退出

如果檔案沒有編輯過,在末行模式下輸入下面的命令就可以直接退出。

:q
如果檔案已經修改過,現在要放棄修改,直接退出,則可以使用下面的命令。對於初學者,這個命令很管用,因為如果你把檔案改亂了時,使用該命令可以保證已有檔案不會變,從而可以重新編輯一次。

:q!
4.儲存退出

在末行模式下輸入下面的命令,則可以儲存檔案並退出

vi有三種模式,或者說三種狀態,命令模式,文字輸入模式和末行模式。其實給了這樣三個名字更容易讓人糊塗,下面舉乙個例子,

vi hello.c,此時開啟了檔案 hello.c檔案,但此時確不能輸入需要的文字資訊;輸入i,再輸入經典的hello world 程式就能輸入進去了,這就是文字輸入模式,檔案輸入完畢後,按[esc]鍵就退出編輯狀態。如果想儲存資訊並退出,則輸入:wq,你會發現輸入的這幾個字元跳到終端最後一行,然後敲擊「enter」鍵就退出了,上述三種狀態其實就分別對應了命令模式、文字輸入模式和末行模式。

1.命令模式

在vi中,無論使用者處於何種狀態,按下[esc]鍵就使vi進入了命令模式。shell環境下啟動vi編輯器時,也處於命令模式下。

在命令模式下,使用者可以根據輸入各種合法的vi命令,管理自己的文件。此時從鍵盤上輸入的任何字元都被當做編輯命令來解釋。如果輸入的字元是合法的字元,則vi在接收之後就完成相應的動作,例如,假如此時輸入i則進入了文字輸入模式,而如果輸入:wq就將當前內容儲存並退出了,如下圖所示。

2.文字輸入模式

文字輸入模式就是接收使用者輸入的字元的意思。對於用慣了圖形化文字編輯器的人而言,剛開始使用vi的確是一大痛苦。如果要掌握linux系統,這是必須要過的坎。

在命令模式下切換到文字輸入模式的方法有三種:

按下字母a:從游標所在的位置後面開始新增內容,游標後的內容隨著新增內容向後移動。

按下字母a:從游標所在行最後面的地方開始新增內容。

(2)插入內容的命令(insert)

按下字母i鍵,從游標所在位置前面開始插入內容 ,游標後的內容隨著改變。

按下字母i鍵:從游標所在行的第乙個非空白字前面開始插入內容。

(3)開始(開啟)命令(open)

按下字母o鍵:在游標所在行的下方新增一行並進入文字輸入模式。

按下字母o鍵:在游標所在行的上方新增一行並進入文字輸入模式。

(4)刪除文字

如果在輸入過程中出現錯誤,想輸入刪除命令,則必須先按[ecs]退到命令列模式,輸入刪除的命令,完成刪除之後再進入文字輸入模式操作,否則vi會變成不聽話的狗。

刪除的命令有:

刪除單個字元:

刪除多個字元:

dd:刪除游標所在的整行

d或d$:刪除從游標所在處開始到行尾的內容。

(5)取消修改或刪除

取消上一條命令是非常有用的命令,它可以取消上一次的誤操作或者不合適的操作對檔案造成的影響,使之恢復到之前的狀態。命令模式下鍵入字元「u」或「u」,不同之處是u僅僅取消前一步的操作, 如果按了兩次u,相當於什麼都沒做。而u則是把當前行恢復成被編輯前的狀態,而不管此行被編輯了多少次。

除此之外,通過修改命令c,取代命令r,替換命令s都可以進入文字輸入模式。在該模式下,使用者輸入的任何字元都被vi當做檔案內容儲存下來,並顯示在螢幕上,如果要退出,直接按[esc]鍵。

正是因為很多字母有其特殊的含義,如果開啟檔案之後就急著輸入內容,可以看不到自己想要的結果,vi終端會和你急的。

3.末行模式(last line mode )

在命令模式下,使用者按下「:」就進入了末行模式。此時vi會顯示視窗的最後一行,通常也是在螢幕或者終端的最後一行。顯示乙個「:」作為末行的提示符,等待使用者輸入命令。多數檔案管理命令都是在此模式下執行的。如上圖所示

如果要從命令模式切換到文字輸入模式,可以根據上面(2)中的說明鍵入相應的命令即可。如果要從文字模式提出,按[esc]鍵。

另外還有三個非常有用的命令:

:set nu 顯示行號

:set nonu 取消行號

:/待查詢的字串,可以自動定位到要查詢的

vi常用命令

1.在進行編寫 時,在格式對起上很有用 第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行 第二行,依據上面的對起格式,智慧型的選擇對起方式,對於類似c語言編寫上很有用 set autoindent set smartindent c語言對齊方式,最好用它 set cindent 2....

vi常用命令

一 vi的三種模式 3 命令列模式 從一般模式按下 時進入命令列模式。注意 編輯模式和命令列模式不能互相切換,只能通過一般模式切換。二 三種模式常用按鍵說明 1 一般模式下的可用按鈕 最常用的 移動游標 移動游標 上下左右鍵 螢幕向上翻頁 pageup或者ctrl b 螢幕向下翻頁 pagedown...

vi常用命令

a 一般模式 vi 處理檔案時,一進入該檔案,就是一般模式了.b 編輯模式 在一般模式下可以進行刪除,複製,貼上等操作,卻無法進行編輯操作。等按下 i,i,o,o,a,a,r,r 等 字母之後才能進入編輯模式.通常在linux中,按下上述字母時,左下方會出現 insert 或者 replace 字樣...