vi 命令 整理

2021-09-02 08:43:58 字數 2295 閱讀 8107

vi 開啟檔案命令:

vi filename :開啟或新建檔案,並將游標置於第一行首 

vi +n filename :開啟檔案,並將游標置於第n行首 

vi + filename :開啟檔案,並將游標置於最後一行首 

vi +/pattern filename:開啟檔案,並將游標置於第乙個與pattern匹配的串處 

輸入模式命令:

命令列下文字操作:

(1)選定文字塊,使用v進入可視模式;移動游標鍵選定內容

(2)複製選定塊到緩衝區,用y;複製整行,用yy

(3)剪下選定塊到緩衝區,用d;剪下整行用dd

(4)貼上緩衝區中的內容,用p

游標移動命令:

home游標到行首

end 游標到行尾

page up和page down上下翻頁

delect刪除游標位置的字元

h :游標左移乙個字元 

l :游標右移乙個字元 

space:游標右移乙個字元 

backspace:游標左移乙個字元 

k或ctrl+p:游標上移一行 

j或ctrl+n :游標下移一行 

enter :游標下移一行 

w或w :游標右移乙個字至字首 

b或b :游標左移乙個字至字首 

e或e :游標右移乙個字至字尾 

) :游標移至句尾 

( :游標移至句首 

}:游標移至段落開頭 

{:游標移至段落結尾 

ng:游標移至第n行首 

n+:游標下移n行 

n-:游標上移n行 

n$:游標移至第n行尾 

h :游標移至螢幕頂行 

m :游標移至螢幕中間行 

l :游標移至螢幕最後行 

0:(注意是數字零)游標移至當前行首 

$:游標移至當前行尾 

翻屏命令 :

ctrl+u:向檔案首翻半屏 

ctrl+d:向檔案尾翻半屏 

ctrl+f:向檔案尾翻一屏 

ctrl+b;向檔案首翻一屏 

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

刪除命令:

x刪除游標處的單個字元

dd刪除游標所在行

dw刪除當前字元到單詞尾包括空格的所有字元

#x例如3x刪除游標處向右的三個字元

#dd例如3dd從當前行開始向下刪除三行文字

撤銷命令:

u命令取消最近一次的操作,可以使用多次來恢復原有的操作

u取消所有操作

ctrl+r可以恢復對使用u命令的操作

搜尋/替換命令:

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

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

:s/p1/p2/g:將當前行中所有p1均用p2替代 

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

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

檔案恢復:

vi在編輯某乙個檔案時,會生成乙個臨時檔案,這個檔案以 . 開頭並以 .swp結尾。正常退出該檔案自動刪除,如果意外退出例如忽然斷電,該檔案不會刪除,我們在下次編輯時可以選擇一下命令處理:

o唯讀開啟,不改變檔案內容

e繼續編輯檔案,不恢復.swp檔案儲存的內容

r將恢復上次編輯以後未儲存檔案內容

q退出vi

d刪除.swp檔案

或者使用vi -r 檔名來恢復未儲存的內容

選項設定:

all:列出所有選項設定情況 

term:設定終端型別 

ignorance:在搜尋中忽略大小寫 

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

number:顯示行號 

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

terse:顯示簡短的警告資訊 

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

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

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

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

vi命令整理

9 跳至指定的行 ctrl g 列出游標所在行的行號。按 移動到游標所在行的 行尾 按 移動到游標所在行的 行首 按 ctrl b 螢幕往 後 移動一頁。按 ctrl f 螢幕往 前 移動一頁。dd 刪除游標所在行。dd 從游標所在行開始刪除 行 列出行號 set nu 輸入 set nu 後,會在...

VI常用命令整理

1 複製多行,並貼上1 將游標定位於想開始複製的行,然後輸入想要複製的行數 如 3,然後輸入yy 2 定位到需要貼上到的前一行,輸入p 2 刪除多行1 將游標定位於想要開始刪除的行,然後輸入想要刪除的行數 如 3,然後輸入dd 說明 其實這個操作是剪下操作,如果需要將剛才刪除的行貼上到另外乙個地方,...

整理vi的一些命令

一般模式 h 游標向左移動乙個字元 j 游標向右移動乙個字元 k 游標向上移動乙個字元 l 游標向下移動乙個字元 小寫l 如果想要多次移動,例如向下移動30行,可使用30j即可 ctrl f 螢幕向下移動一頁 ctrl b 螢幕向上移動一頁 ctrl u 螢幕向上移動半頁 ctrl d 螢幕向下移動...