vi 常用命令

2021-08-31 17:30:49 字數 4201 閱讀 9375

***************===

vi command

***************===

vi a.txt

用vi編輯器編輯a.txt,如果不存在則建立空檔案,預設是一般模式;

---

都可從 一般模式 進入 編輯模式

---

esc 可以從 編輯模式 進入 一般模式

---

: 從 一般模式 進入 命令模式,輸入取消、儲存等指令

---

/ 從 一般模式 進入 命令模式,可以進行搜尋;

---

wq 命令預設下,保持檔案,並退出;

q 命令預設下,退出;

q! 命令預設下,取消對檔案的修改,並退出;

---

*****====

一般模式

*****====

h 或 左箭頭

左j 或 下箭頭

下k 或 上箭頭

上l 或 右箭頭

右---

ctrl+f

向前翻頁

ctrl+b

向後翻頁

ctrl+d

向前翻半頁

ctrl+u

向後翻半頁

---

0 或 home

移動到該行第乙個字元

$ 或 end

移動到該行最後乙個字元

n向右移動n個字元

---

g 移動到最後一行

[i] gg

移動到第 i 行,省略 i 則移動到第1行,

n向下移動n行

---

=

e.g.

gg=g

---

w 後1個單詞 詞首

e 後1個單詞 詞尾,(當前如果在單詞中,且不是詞尾,則到當前單詞的詞尾,)

b 前1個單詞 詞首

---

/word

向下搜尋 word

?word

向上搜尋 word

---

x 向後刪除1個

3x 向後刪除3個

x 向前刪除1個

4x 向前刪除4個

---

dd 刪除/剪下 整行

3dd 刪除/剪下 包括當前行向下的3行

dw 刪除/剪下 單詞

3dw 刪除/剪下 當前向右的3個單詞

d游標移動

刪除/剪下 游標移動的 字元 或 行,輸入d 然後移動游標,如果游標向左則刪除左邊的1個字元,向右則刪除當前字元(相當於 x),向上則刪除當前行和上一行,向下則刪除當前行和下一行,跳轉行則刪除2行之間(包括2行)的所有行,

---

yy 複製所在行

3yy 包括當前行複製向下3行

yw 複製 游標之後的第1個單詞,游標當前所在單詞僅複製游標及其後的部分(而不是整個單詞),游標後的第1個空白符也被複製(如果存在),

3yw 複製 游標之後的3個單詞,

---

p 貼上在當前行下

p 貼上在當前行上

---

u undo

ctrl + r

redo

---

:i 跳轉到第 i 行

---

ctrl + shift + >>

shift right current line

2 ctrl + shift + >>

shift right 2 line

ctrl + shift + <<

shift left current line

2 ctrl + shift + <<

shift left 2 line

*****====

一般模式 ---> 編輯模式

*****====

i 在當前游標前插入字元

i 在當前行首前插入字元

---

a 在當前游標後插入字元

a 在當前行尾插入字元

---

o 在當前行 下 新開一行,插入字元

o 在當前行 上 新開一行,插入字元

---

r,r 準備替換當前字元,替換後仍回到一般模式

*****====

編輯模式 ---> 一般模式

*****====

esc 退出編輯模式,進入一般模式

---

*****====

一般模式 ---> 命令列模式

*****====

: 進入命令列模式

---

*****====

命令列模式

*****====

w 儲存

w! 強制儲存,即使是唯讀檔案,只要使用者的許可權夠,就可以儲存

q 退出vi,如果檔案已經改變且尚未儲存則報錯;

q! 取消修改,並退出vi

wq 儲存並退出

wq! 強制儲存並退出

---

w b.txt

當前文件另存為b.txt

---

r c.txt

將c.txt的內容加入到 當前文件中 游標處,

---

set nu

顯示行號

set nonu

取消行號

---

set ai

自動縮排

set noai

不自動縮排

---

set list

顯示 tab 和 行尾 字元, tab 用 ^i 表示,行尾用 $ 表示,

set nolist

不顯示 tab 和 行尾 字元,

---

set tablestop=x

設定 tab 的大小,

---

set all

檢視 當前設定

---

help [command]

顯示幫助,用 :q 退出幫助

---

n 切換到下個檔案

e# 切換到上個檔案

---

[a,b|% ]s/xx/yy[/gic]

將 xx 替換為 yy,

a b 分別指定 起始 和 結尾 行號,如果未指定則預設對當前行起作用, . 表示當前行, $ 表示末行, % 表示所有行

g 表示替換所有的匹配,如果 未指定 g 則僅替換每行中的第1個匹配,

i 表示忽略大小寫,如果 未指定 i 則大小寫敏感,

c 表示是否對每次替換進行確認,如果指定 c,則每個匹配的替換要確認,輸入 y 或 n 確認,

支援萬用字元,特殊字元要用 \ 轉義,如 \. ,

例子:

s/xx/yy

將當前行中 第1個 xx 替換為 yy

10,$ s/xx/yy

從第10行 到末尾,將每行中 第1個 xx 替換為 yy

% s/xx/yy/g

所有行中 所有的 xx 替換為 yy

% s/\./y/g

所有行中 所有的 . 替換為 y

% s/\ \+/\ /g

替換所有的連續空格為1個空格,

% s/test/abcdef/gi

替換所有 test(不區分大小寫),

% s/test/abcdef/gc

替換所有 test,每次替換都要求確認,

*****====

一般模式 ---> 搜尋模式

*****====

/ 向下搜尋

? 向上搜尋

n 下一處

shift+n

上一處---

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 字樣...