linux中vi的使用

2021-09-02 17:03:59 字數 4134 閱讀 5320

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

[color=red]1、vi的基本概念[/color]

基本上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)[color=red] 進入vi[/color]

$ vi myfile

不過有一點要特別注意,就是您進入vi之後,是處於[命令列模式(command mode)],您要切換到[插入模式(insert mode)]才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動游標,結果電腦一直嗶嗶叫,把自己氣個半死,所以進入vi後,先不要亂動,轉換到 [插入模式(insert mode)]再說吧!

b) [color=red]切換至插入模式[/color](insert mode)編輯檔案

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

c) insert 的切換

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

d) [color=red]退出vi及儲存檔案[/color]

命令列模式下儲存並退出:輸入zz

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

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

: wq (輸入[wq],存檔並退出vi)

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

:x (執行儲存並退出vi編輯器)

[color=red][b]

3、命令列模式(command mode)功能鍵[/b][/color]

1). 插入模式

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

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

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

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

按[esc]鍵。

3). 移動游標

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

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

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

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

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

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

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

按[w]:游標跳到下個字的開頭

按[e]:游標跳到下個字的字尾

按[b]:游標回到上個字的開頭

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

vi還提供了三個關於游標在全螢幕上移動並且檔案本身不發生滾動的命令。它們分別是h、m和l命令。

(1)h命令

該命令將游標移至螢幕首行的行首(即左上角),也就是當前螢幕的第一行,而不是整個檔案的第一行。利用此命令可以快速將游標移至螢幕頂部。若在h命令之前加上數字n,則將游標移至第n行的行首。值得一提的是,使用命令dh將會刪除從游標當前所在行至所顯示螢幕首行的全部內容。

(2)m命令

該命令將游標移至螢幕顯示檔案的中間行的行首。即如果當前螢幕已經充滿,則移動到整個螢幕的中間行;如果並未充滿,則移動到文字的那些行的中間行。利用此命令可以快速地將游標從螢幕的任意位置移至螢幕顯示檔案的中間行的行首。例如,在上面螢幕顯示的情況下(不論游標在螢幕的何處),在命令模式下,輸入命令m之後,游標都將移到add這一行的字母a上。同樣值得一提的是,使用命令dm將會刪除從游標當前所在行至螢幕顯示檔案的中間行的全部內容。

(3)l命令

當檔案顯示內容超過一屏時,該命令將游標移至螢幕上的最底行的行首;當檔案顯示內容不足一屏時,該命令將游標移至檔案的最後一行的行首。可見,利用此命令可以快速準確地將游標移至螢幕底部或檔案的最後一行。若在l命令之前加上數字n,則將游標移至從螢幕底部算起第n行的行首。同樣值得一提的是,使用命令dl將會刪除從游標當前行至螢幕底行的全部內容。

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). 恢復上一次操作

8). 更改

[cw]:更改游標所在處的字到字尾處

[c#w]:例如,[c3w]表示更改3個字

9).撤銷更改

[ctrl]+[r]:恢復撤銷的更改,可以一直按該組合鍵達到最新的改變。

10). 跳至指定的行

[ctrl]+[g]列出游標所在行的行號。

4、last line mode下命令簡介

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

a) 列出行號

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

b) 跳到檔案中的某一行

c) 查詢字元

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

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

d) 儲存檔案

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

e) [color=red]離開vi[/color]

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

[wq]:一般建議離開時,搭配[w]一起使用,這樣在退出的時候還可以儲存檔案,可以在後面再跟[!]強制儲存退出。

[zz]:儲存並退出vi。

f) [color=red]語法加亮[/color]

[syntax on]:vi編輯器預設不開啟語法加亮功能,開啟vi編輯器後在[last line mode]下使用[syntax on]命令即可開啟語法加亮功能,此時編輯器會高亮顯示檔案中的關鍵字,方便程式設計使用,用[syntax off]命令可關閉該功能。

linux中vi的使用

開經偈 無上甚深微妙法 百千萬劫難遭遇 我今見聞得受持 願解如來真實義 第一次實習,第一次任務就是搭建docker環境,不會vi的操作,在網上搜搜,大多數部落格只講了個大概,具體每一步的操作,並沒有給出。建立檔案 root localhost vitest touch file.txt 此時處於命令...

Linux中vi的使用方法

1.root linux root cat fil1 root linux root cat fil1 this is fil1 that is fil1 who is fil1 root linux root 2.root linux root cat fil1 root linux root c...

Linux中vi編輯器的使用

vi是linux系統中的文字編輯器,是最常用的文字編輯工具軟體之一。vi是字元介面下最常用的編輯工具,其功能強大,占用資源少,但不支援滑鼠操作。現在出現了圖形介面下的vi,稱為vim,啟動選單選項為 開始 應用程式 實用工具 vim編輯器 支援滑鼠操作,有類似其他軟體的選單和快捷按鈕。字元介面下vi...