Vi使用詳解

2021-06-03 02:37:12 字數 3453 閱讀 9459

以問答的方式學習一下vi的使用,邊看本文邊進行實踐是一種比較有效的學習方式。

一、如何進入vi編輯器?

在系統提示字元(如$、#)下敲入vi <檔名稱>,vi 可以自動幫你載入所要編輯的檔案或是開啟乙個新檔案(如果該檔案不存在或缺少檔名)。進入 vi 後螢幕左方會出現波浪符號,凡是列首有該符號就代表此列目前是空的。

二、關於vi的兩種模式?

vi存在兩種模式:指令模式和輸入模式。在指令模式下輸入的按鍵將做為指令來處理:如輸入a,vi即認為是在當前位置插入字元。而在輸入模式下,vi則把輸入的按鍵當作插入的字元來處理。指令模式切換到輸入模式只需鍵入相應的輸入命令即可(如a,a),而要從輸入模式切換到指令模式,則需在輸入模式下鍵入esc鍵,如果不曉得現在是處於什麼模式,可以多按幾次[esc],系統如發出嗶嗶聲就表示已處於指令模式下了。

三、如果退出vi?

在指令模式下鍵入:q,:q!,:wq或:x(注意:號),就會退出vi。其中:wq和:x是存檔退出,而:q是直接退出,如果檔案已有新的變化,vi會提示你儲存檔案而:q命令也會失效,這時你可以用:w命令儲存檔案後再用:q退出,或用:wq或:x命令退出,如果你不想儲存改變後的檔案,你就需要用:q!命令,這個命令將不儲存檔案而直接退出vi。

四、在指令模式對檔案進行刪除和修改的一些命令?

首先按esc進入指令模式。

x: 刪除游標所在字元,依舊停留在指令模式。

dd :刪除游標所在的列,依舊停留在指令模式。

dw:刪除游標所在字,依舊停留在指令模式。

r :修改游標所在字元,點r 後接著輸入要修正為的字元。

r: 進入取替換狀態,新增文字會覆蓋原先文字,進入替換模式,直到按 [esc] 回到指令模式下為止。

s: 刪除游標所在字元,並進入輸入模式。

s: 刪除游標所在的行,並進入輸入模式。

c :功能和d相同,區別在於完成刪除操作後進入insertmode

cc:也是刪除當前行,然後進入insert mode

五、vi中查詢及替換命令?

/pattern      從游標開始處向檔案尾搜尋pattern

?pattern      從游標開始處向檔案首搜尋pattern

n           在同一方向重複上一次搜尋命令

n           在反方向上重複上一次搜尋命令

%          查詢配對的括號

:s/p1/p2/g       將當前行中所有p1均用p2替代,若要每個替換都向使用者詢問則應該用gc選項

:n1,n2s/p1/p2/g  將第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g    將檔案中所有p1均用p2替換

.*^%~$ 在vi中具有特殊含義,若需要查詢則應該加上轉義字元"\"

六、vi中如何進行複製與貼上操作?

首先同樣保證進入指令模式。

yy命令複製當前整行的內容到vi緩衝區

yw複製當前游標所在位置到單詞尾字元的內容到vi快取區,相當於複製乙個單詞

y$複製游標所在位置到行尾內容到快取區

y^複製游標所在位置到行首內容到快取區

#yy例如:5yy就是複製5行

#yw例如:2yw就是複製兩個單詞

如果要複製第m行到第n行之間的內容,可以在末行模式中輸入m,ny例如:3,5y複製第三行到第五行內容到快取區。

p 將複製的內容貼上在當前游標後面的位置上

七、vi中如何顯示行號?

在末行模式(按esc進入指令模式,輸入:就可進入末行模式),輸入set number.即可顯示行號。

八、幾個不同的從指令模式切換到輸入模式的命令?

a :從游標所在位置後面開始新增資料,游標後的資料隨新增資料向後移動。

a:從游標所在行最後面的地方開始新增資料。

插入 (insert)

i:從游標所在位置前面開始插入資料,游標後的資料隨新增資料向後移動。

i :從游標所在行的第乙個非空白字元前面開始插入資料。

開始 (open)

o :在游標所在行下新增一列並進入輸入模式。

o: 在游標所在行上方新增一列並進入輸入模式。

九、vi中如何恢復誤操作?

u        撤銷最後執行的命令

u        修正之前對該行的操作

ctrl+r   redo

十、如何重複上乙個操作?

. (點操作)       重複上一次操作

十一、vi中移動游標的操作?

k        上

h  l    左  右

j        下

^       移動到該行第乙個非空格的字元處

w       向前移動乙個單詞,將符號或標點當作單詞處理

w       向前移動乙個單詞,不把符號或標點當作單詞處理

b       向後移動乙個單詞,把符號或標點當作單詞處理

b       向後移動乙個單詞,不把符號或標點當作單詞處理

(       游標移至句首

)       游標移至句尾

游標移至段落結尾

h       游標移至螢幕頂行

m       游標移至螢幕中間行

l       游標移至螢幕最後行

0       到行首

$       到行尾

gg      到頁首

g       到頁末

行號+g   跳轉到指定行

n+      游標下移n行

n-      游標上移n行

ctrl+g  查詢當前行資訊和當前檔案資訊

fx      向右跳到本行字元x處(x可以是任何字元)

fx      向左跳到本行字元x處(x可以是任何字元)

tx      和fx相同,區別是跳到字元x前

tx      和fx相同,區別是跳到字元x後

c-b     向上滾動一屏

c-f     向下滾動一屏

c-u     向上滾動半屏

c-d     向下滾動半屏

c-y     向上滾動一行

c-e     向下滾動一行

nz      將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部。

十二、vi的選項設定?

all        列出所有選項設定情況

term       設定終端型別

ignorance  在搜尋中忽略大小寫

list       顯示製表位(ctrl+i)和行尾標誌($)

number     顯示行號

report     顯示由面向行的命令修改過的數目

terse      顯示簡短的警告資訊

warn       在轉到別的檔案時若沒儲存當前檔案則顯示nowrite資訊

nomagic    允許在搜尋模式中,使用前面不帶「\」的特殊字元

nowrapscan 禁止vi在搜尋到達檔案兩端時,又從另一端開始

mesg       允許vi顯示其他使用者用write寫到自己終端上的資訊

vi使用詳解

vi n filename 開啟檔案並將游標置於第n行行首 vi filename 開啟檔案並將游標置於行尾 vi pattern filename 開啟檔案並將游標置於匹配模式pattern的第乙個串處 vi r filename 當上次使用vi編輯檔案時系統崩潰使用 r恢復檔案 vi r fil...

vi命令詳解

vi命令的使用 a vi檔名 文字檔案 進入vi後分三種狀態 1.ng表示讓游標到第n行 2.g表示檔案尾 3.1g表示檔案首 4.表示行首 5.表示行尾 6.x表示刪除乙個字元 7.dd表示剪下當前行 8.r表示替換乙個字元 9.cc替換一行 10.c替換從游標到行尾 11.yy表示拷貝行 12....

vi 命令詳解

vi 是visual edit 的縮寫 文字編輯器是所有計算機系統中最常用的一種工具。unix下的編輯器有ex,sed和vi等,其中,使用最為廣泛的是vi,而vi命令繁多。進入vi的命令。進入vi的命令 vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔...