vi vim 命令使用詳解

2022-07-12 13:30:23 字數 3178 閱讀 5184

vi test.txt  或者 vim test.txt 或者 touch test.txt
基本上 vi/vim 共分為三種模式,分別是命令模式(command mode)輸入模式(insert mode)底線命令模式(last line mode)。(1)命令模式

x,x                          x為向後刪除乙個字元,x為先前刪除乙個字元

nx(n代表數字) 向後刪除n個字元

dd 刪除當前行

d 刪除當前行所有字元,試成為空行

ndd(n代表數字) 刪除游標所在行的向下n列

d1g 刪除游標所在行到第一行的所有資料

dg 刪除游標所在行到最後一行的所有資料

yy 複製游標所在行

y1g 複製游標所在行到第一行的所有資料

yg 複製游標所在行到最後一行的所有資料

ynj(n代表數字) 複製游標所在行向下n+1行

dnj(n代表數字) 刪除游標所在行向下n+1行

j 將游標所在行與下一行的資料結合成一行

u 恢復前乙個動作(undo)

h 游標向左移乙個字元

j 游標向下移乙個字元

k 游標向上移乙個字元

l 游標向右移乙個字元

ctrl+f 螢幕向下翻一頁

ctrl+b 螢幕向上翻一頁

ctrl+d 螢幕向下翻半頁

ctrl+u 螢幕向上翻半頁

+ 游標移動到下一行的第乙個非空字元

- 游標移動到當前行的第乙個非空字元

n空格(n代表數字) 游標向當前行向右移動n個字元

0(數字0) 游標移動到當前行的第乙個字元(可以為空字元,注意與-區分)

$ 游標移動到當前行的最後乙個字元(可以為空字元,注意與-區分)

h 游標移動到當前螢幕最上方的那一行的第乙個非空字元

m 游標移動到當前螢幕最中間那一行的第乙個非空字元

l 游標移動到當前螢幕最下方的那一行的第乙個非空字元

g 游標移動到該文章最後一行的第乙個非空字元

ng(n代表數字) 游標移動到該文章第n行的第乙個非空字元

n 游標從當前行向下移動n行的第乙個非空字元

(2)輸入模式

i,i                          i為在當前游標所在處插入輸入的文字,i為在游標所在行第乙個非空字元插入輸入的文字

a,a a為在當前游標所在處下乙個字元插入輸入的文字,a為在游標所在行最後乙個字元的下乙個字元處插入輸入的文字

r,r r為替換游標所在那乙個字元,r為一直替換游標所指的文字,直到退出

esc 退出,回到命令模式

(3)底線命令模式

/word                        在游標之後查詢word字串

?word 在游標之前查詢word字串

:s/word1/word2/g 在游標當前行查詢word1,並替換成word2

:n1,n2s/word1/word2/g     在第n1行與第n2行之間查詢word1,並替換成word2

:%s/word1/word2/g    整個文章查詢word1,並替換成word2

:w 將編輯的資料儲存到硬碟檔案中

:w [filename] 將編輯後的資料儲存到硬碟的另乙個檔案中

:wq或:x 儲存並退出

:q 退出,適用於未修改的檔案

:q! 強制退出,適用於修改檔案後不儲存退出

:set nu 顯示行號

:set nonu 取消行號

:n1,n2 w [filename] 將n1到n2行的內容儲存到名為filename的檔案中

下面是vi/vim的工作模式圖示:

vi/vim 鍵盤圖:

源:

Linux中vi vim命令詳解

新增修改配置檔案一般都是使用預設的vi編輯器,長期編輯 的程式設計師會使用功能更強大的編輯器。簡單介紹下vi編輯器的使用方法 一 vi可以分為三種狀態,分別是命令模式 command mode 插入模式 insert mode 和底行模式 last line mode 各模式的功能區分如下 1 命令...

Linux命令 vi vim 的使用

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

vi vim 命令手冊

本手冊介紹了 vi vim 編輯器的主要功能。為了便於查詢,這裡一併給出了命令和它們的定製引數。在使用這個手冊之前,必須注意以下幾點 很多命令可以與重複因子一起使用 vi vim 不是vi 把乙個區域 region 定義為乙個連續的文字塊,許多命令與文字塊有關 乙個區域可以用v定義,後面跟乙個游標移...