Linux下Vi Vim的使用方法

2022-05-04 04:57:10 字數 4544 閱讀 1655

本文介紹了vi (vim)的基本使用方法,但對於普通使用者來說基本上夠了!i/vim的區別簡單點來說,它們都是多模式編輯器,不同的是vim 是vi的公升級版本,它不僅相容vi的所有指令,而且還有一些新的特性在裡面。例如語法加亮,視覺化操作不僅可以在終端執行,也可以執行於x window、 mac os、 windows。

vi編輯器是所有unix及linux系統下標準的編輯器,它的強大不遜色於任何最新的文字編輯器,這裡只是簡單地介紹一下它的用法和一小部分指令。由於對unix及 linux系統的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進一步了解它。vi也是linux中最基本的文字編輯器,學會它後,您將在linux的世界裡暢行無阻。

[簡單地,可以使用上下左右方向箭頭和delete,backspace鍵來進行位置移動和刪除,不管是命令模式還是插入模式]

1、vi的基本概念

基本上vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode),各模式的功能區分如下:

1) 命令列模式command mode)

控制螢幕游標的移動,字元、字或行的刪除,移動複製某區段及進入insert mode下,或者到 last line mode。

2) 插入模式(insert mode)

只有在insert mode下,才可以做文字輸入,按「esc」鍵可回到命令列模式。

3) 底行模式(last line mode)

將檔案儲存或退出vi,也可以設定編輯環境,如尋找字串、列出行號……等。

不過一般我們在使用時把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令列模式command mode)。

2、vi的基本操作

a) 進入vi

在系統提示符號輸入vi及檔名稱後,就進入vi全螢幕編輯畫面:$ vi myfile。不過有一點要特別注意,就是您進入vi之後,是處於「命令列模式(command mode)」,您要切換到「插入模式(insert mode)」才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動游標,結果電腦一直嗶嗶叫,把自己氣個半死,所以進入vi後,先不要亂動,轉換到「插入模式(insert mode)」再說吧!

b) 切換至插入模式(insert mode)編輯檔案

在「命令列模式(command mode)」下按一下字母「i」就可以進入「插入模式(insert mode)」,這時候你就可以開始輸入文字了。

c) insert 的切換

您目前處於「插入模式(insert mode)」,您就只能一直輸入文字,如果您發現輸錯了字!想用游標鍵往回移動,將該字刪除,就要先按一下「esc」鍵轉到「命令列模式(command mode)」再刪除文字。

d) 退出vi及儲存檔案

在「命令列模式(command mode)」下,按一下「:」冒號鍵進入「last line mode」,例如:

: w filename (輸入 「w filename」將文章以指定的檔名filename儲存)

: wq (輸入「wq」,存檔並退出vi)

: q! (輸入q!, 不存檔強制退出vi)

3、命令列模式(command mode)功能鍵

1). 插入模式

按「i」切換進入插入模式「insert mode」,按「i」進入插入模式後是從游標當前位置開始輸入檔案;

按「a」進入插入模式後,是從目前游標所在位置的下乙個位置開始輸入文字;

按「o」進入插入模式後,是插入新的一行,從行首開始輸入文字。

2). 從插入模式切換為命令列模式

按「esc」鍵。

3). 移動游標

vi可以直接用鍵盤上的游標來上下左右移動,但正規的vi是用小寫英文本母「h」、「j」、「k」、「l」,分別控制游標左、下、上、右移一格。

按「ctrl」+「b」:螢幕往「後」移動一頁。

按「ctrl」+「f」:螢幕往「前」移動一頁。

按「ctrl」+「u」:螢幕往「後」移動半頁。

按「ctrl」+「d」:螢幕往「前」移動半頁。

按數字「0」:移到文章的開頭。

按「g」:移動到文章的最後。

按「$」:移動到游標所在行的「行尾」。

按「^」:移動到游標所在行的「行首」

按「w」:游標跳到下個字的開頭

按「e」:游標跳到下個字的字尾

按「b」:游標回到上個字的開頭

按「#l」:游標移到該行的第#個位置,如:5l,56l。

4). 刪除文字

「x」:每按一次,刪除游標所在位置的「後面」乙個字元。

「#x」:例如,「6x」表示刪除游標所在位置的「後面」6個字元。

「x」:大寫的x,每按一次,刪除游標所在位置的「前面」乙個字元。

「#x」:例如,「20x」表示刪除游標所在位置的「前面」20個字元。

「dd」:刪除游標所在行。

「#dd」:從游標所在行開始刪除#行

5). 複製

「yw」:將游標所在之處到字尾的字元複製到緩衝區中。

「#yw」:複製#個字到緩衝區

「yy」:複製游標所在行到緩衝區。

「#yy」:例如,「6yy」表示拷貝從游標所在的該行「往下數」6行文字。

「p」:將緩衝區內的字元貼到游標所在位置。注意:所有與「y」有關的複製命令都必須與「p」配合才能完成複製與貼上功能。

6). 替換

「r」:替換游標所在處的字元。

「r」:替換游標所到之處的字元,直到按下「esc」鍵為止。

7). 回覆上一次操作

「u」:如果您誤執行乙個命令,可以馬上按下「u」,回到上乙個操作。按多次「u」可以執行多次回覆。

8). 更改

「cw」:更改游標所在處的字到字尾處

「c#w」:例如,「c3w」表示更改3個字

9). 跳至指定的行

「ctrl」+「g」列出游標所在行的行號。

「#g」:例如,「15g」,表示移動游標至文章的第15行行首。

4、last line mode下命令簡介

在使用「last line mode」之前,請記住先按「esc」鍵確定您已經處於「command mode」下後,再按「:」冒號即可進入「last line mode」。

a) 列出行號

「set nu」:輸入「set nu」後,會在檔案中的每一行前面列出行號。

b) 跳到檔案中的某一行

「#」:「#」號表示乙個數字,在冒號後輸入乙個數字,再按回車鍵就會跳到該行了,如輸入數字15,再回車,就會跳到文章的第15行。

c) 查詢字元

「/關鍵字」:先按「/」鍵,再輸入您想尋找的字元,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往後尋找到您要的關鍵字為止。

「?關鍵字」:先按「?」鍵,再輸入您想尋找的字元,如果第一次找的關鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關鍵字為止。

d) 儲存檔案

「w」:在冒號輸入字母「w」就可以將檔案儲存起來。

e) 離開vi

「q」:按「q」就是退出,如果無法離開vi,可以在「q」後跟乙個「!」強制離開vi。

「qw」:一般建議離開時,搭配「w」一起使用,這樣在退出的時候還可以儲存檔案。

5、vi命令列表

1) 下表列出命令模式下的一些鍵的功能:

h左移游標乙個字元

l右移游標乙個字元

k游標上移一行

j游標下移一行

^游標移動至行首

0數字「0」,游標移至文章的開頭

g游標移至文章的最後

$游標移動至行尾

ctrl+f向前翻屏

ctrl+b向後翻屏

ctrl+d向前翻半屏

ctrl+u向後翻半屏

i在游標位置前插入字元

a在游標所在位置的後乙個字元開始增加

o插入新的一行,從行首開始輸入

esc從輸入狀態退至命令狀態

x刪除游標後面的字元

#x刪除游標後的#個字元

x(大寫x),刪除游標前面的字元

#x刪除游標前面的#個字元

dd刪除游標所在的行

#dd刪除從游標所在行數的#行

yw複製游標所在位置的乙個字

#yw複製游標所在位置的#個字

yy複製游標所在位置的一行

#yy複製從游標所在行數的#行

p貼上u取消操作

cw更改游標所在位置的乙個字

#cw更改游標所在位置的#個字

2) 下表列出行命令模式下的一些指令

w filename儲存正在編輯的檔案為filename

wq filename儲存正在編輯的檔案為filename,並退出vi

q!放棄所有修改,退出vi

set nu顯示行號

/或?查詢,在/後輸入要查詢的內容

n與/或?一起使用,如果查詢的內容不是想要找的關鍵字,按n或向後(與/聯用)或向前(與?聯用)繼續查詢,直到找到為止。

高手總結的圖:

Linux命令 vi vim 的使用

基本上 vi vim 共分為三種模式,分別是命令模式 command mode 插入模式 insert mode 和底線命令模式 last line mode 這三種模式的作用分別是 使用者剛剛啟動 vi vim,便進入了命令模式。此狀態下敲擊鍵盤動作會被vim識別為命令,而非輸入字元。比如我們此時...

linux之vi vim的使用

vi vim是在linux中常用的編輯工具,也是每個程式設計師必備的技能之一。貼上與複製 快捷鍵操作效果 yy複製當前行 nyyn為數字,複製游標向下n行 小寫p將複製的資料在游標下一行貼上 大寫p將複製的資料在游標上一行貼上 插入 快捷鍵操作效果 i當前字元左邊插入 a當前字元右邊插入 i當前字元...

linux下 vi(vim)命令彙總

進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 vi r...