linux-vim命令

摘抄自: http://linux.vbird.org/linux_basic/

作者: 鳥哥的 Linux 私房菜

 

vi 編輯器有 3 種基本工作模式

 

vi filename

打開已存在的文件或者新建一個文件

 

vi +行號  filename

在進入 vi 後,光標處於文件中特定的某行上,可在 vi 命令上加上行號和文件名

 

vi + filename

如果希望在進入 vi 之後光標處於文件最末行,則只需去掉命令中+後面的數字 n 即可

 

vi +/匹配的關鍵字 filename

進入 vi 後,光標就處於文件中第一個與指定模式串相匹配的那行上

 

vi *.filename

使用 vi 可以同時編輯多個文件,只要在進入 vi 的命令中寫入所要操作的文件即可,還可以使用通配符

 

插入文本命令:i 和 I

i 命令將文本插入到光標所在位置前

I 命令將文本插入當前行的行首。

 

追加文本命令:a 和 A

a 命令將新文本追加到光標當前所在位置之後

A 命令將新文本追加到所在行的行尾。

 

空行插入命令:o 和 O

o 命令將在光標所在行的下面插入一個空行,並將光標置於該行的行首。

O 命令在光標所在行的上面插入一個空行,並將光標置於該行的行首。

 

vi文本刪除命令(刪除文件內容)

文本刪除命令

命令的意義

文本刪除命令

命令的意義

x

刪除光標處的字符

d(

刪除到上一句開始的所有字符

X

刪除光標前面的字符

d)

刪除到下一句開始的所有字符

dd

刪除光標所在的整行

d{

刪除到上一段開始的所有字符

D 或 d$

刪除從光標所在處開始到行尾 的內容

d}

刪除到下一段開始的所有字符

d0

刪除從光標前一個字符開始到 行首的內容

d<CR>

刪除包括當前行在內的兩行字符

dw

刪除一個單詞

 

 

 

vi文本複製命令(複製文件內容)

文本複製命令

命令的意義

文本複製命令

命令的意義

yy

複製光標所在的整行

y{

複製到上一段的開始

Y 或 y$

複製從光標所在處開始到行尾的內容

y}

複製到下一段的開始

y0

複製從光標前一個字符開始到行首的內容

y<CR>

複製包括當前行在內的兩行內容

y(

複製到上一句的開始

yw

複製一個單詞

y)

複製到下一句的開始

 

 

 

1. 文本粘貼命令

  • p 命令:粘貼命令,粘貼當前緩衝區中的內容。

2. 文本選擇命令

  • v 命令:在命令模式下進行文本選擇。在需要選擇的文本的起始處按下 v 鍵進入塊選擇模式,然後移動光標到塊尾處。這之間的部分被高亮顯示,表示被選中。
  • V 命令:在命令模式下按行進行文本選擇。在需要選擇的文本的第一行按下 V 鍵,然後移動光標到塊的最後一行。這之間的所有行被高亮顯示,表示被選中。

 

vi撤銷命令(u和U),撤銷上一次的操作

撤銷命令分爲以下兩種。

  • u 命令:該命令撤銷上一次所做的操作。多次使用 u 命令會一步一步依次撤銷之前做過的操作(在一次切換到文本輸入模式中輸入的所有文本算一次操作)。
  • U 命令:該命令會一次性撤銷自上次移動到當前行以來做過的所有操作,再使用一次 U 命令則撤銷之前的 U 命令所做的操作,恢復被撤銷的內容。

 

vi重複命令(重複上次操作)

重複命令只能在命令模式下工作,在該模式下按下.鍵

 

vi退出命令

:q

當用戶不清楚自己當前編譯的文件是否被修改時,可以使用該命令進行測試,而不必擔心因爲誤操作導致文件數據丟失。

 

:q!

該命令不論文件是否改變都會強行退出 vi 編輯器,對於此命令用戶應當慎用。

 

:w  新文件名

vi 保存當前編輯文件,但並不退出,而是繼續等待用戶輸入命令。在使用 w 命令時,可以再給當前編輯文件起一個新的文件名。這個功能相當於將該文件另存爲爲一個新的文件。

 

:w!  新文件名

說明:該命令與:w命令相同,所不同的是,即使指定的新文件存在,vi 編輯器也會用當前編輯文件對其進行替換,而不再詢問用戶。

 

:wq

vi 將先保存文件,然後退出 vi 返回到 shell。如果當前文件尚未取名,則需要現指定一個文件名。

 

:x

說明:若當前編輯文件曾被修改過,則 vi 會保存該文件。否則 vi 直接退出,不保存該文件。

 

vi字符替換命令(r和R命令)

1. r 命令

該命令將當前光標所指的字符替換爲提供的字符。可以在該命令之前加上數字 n,表示將從當前字符開始的 n 個字符替換爲提供的字符

2. R命令

該命令會讓 vi 進入 replace 模式。在此模式下,每個輸入的字符都會替換當前光標下的字符,直到輸入 <Esc> 結束該模式。

 

vi文本跨行移動(m命令)

vi 編輯器使用 m 命令實現文本的跨行移動。該命令的使用方法爲:imj

表示把第 i 行移至第 j 行的下方。

 

vi屏幕滾動命令(滾屏命令)

在命令模式下和文本輸入模式下均可以使用滾屏和分頁命令。滾屏和分頁命令如下表所示。

 

滾屏和分頁命令

命令意義

Ctrl+u

將屏幕向前(文件頭方向)翻滾半屏

Ctrl+d

將屏幕向後(文件尾方向)翻滾半屏

Ctrl+f

將屏幕向文件尾方向翻滾一整屏

Ctrl+b

將屏幕向文件首方向翻滾一整屏

 

可以在滾屏和分頁命令之前加上一個數字 n,表示屏幕向前或向後翻滾 n 行,或者屏幕向前或向後移動 n 頁。這些設置會被 vi 編輯器記住,下次用戶在使用滾屏和分頁命令時,還會滾動和上次設置相同的行數或者頁數。

 

vi字符串檢索(查找)命令

查找命令有 5 種

/string

/命令從光標處開始向後尋找字符串 string。

 

?string

? 命令從光標處開始向前尋找字符串 string。

 

n 命令重複上一條檢索命令。

 

N 命令重複上一條檢索命令,但檢索方向改變。例如上次的檢索命令是向前檢索,那麼此次檢索的方向是向後;如果上次的檢索命令是向後檢索,那麼此次檢索的方向是向前。

 

g/string

檢索 string。g/命令使光標停止在第一個檢索到的 string 串的行首。

 

vi字符串替換命令

[range]s/s1/s2/ [option]

  • [range] 表示檢索範圍,省略時表示當前行。下面是一些檢索範圍的例子。
    • 1,10表示從第 1 行到 10 行。
    • %表示整個文件,同1, $。
    • . ,$從當前行到文件尾。
  • s 爲替換命令。
  • s1 要被替換的串,s2 爲替換的串。
  • option 表示選項:
    • /g表示在全局文件中進行替換。
    • /c表示在每次替換之前需要用戶進行確認。
    • 省略時僅對每行第一個匹配串進行替換。

 

vi窗口切分命令(split命令)

在末行模式中,輸入 split 命令即可實現窗口的切分,其命令格式 : split文件名

split 也可簡寫爲 sp。這時窗口切分爲上下兩部分,下半部分對應原來的文件,上半部分對應新打開的文件。

 

有時用戶需要在多窗口之間進行切換,vi 編輯器提供一組命令支持用戶切換多個窗口,其命令如下表所示。

 

切換命令

命令的意義

Ctrl+w,然後 j

移動光標到下面的一個窗口

Ctrl+w,然後 k

移動光標到上面的一個窗口

Ctrl+w,然後 q

關閉當前窗口

Ctrl+w,然後 w

移動光標到另一個窗口

 

vi屬性設置命令

:set nu (nonu)

該命令顯示行號(或者不顯示行號)。

 

:set hlsearch (nohlsearch)

該命令設定搜尋字符串反白顯示(或者不反白顯示)。

 

:set all

該命令顯示所有的選項。

 

:syntax on (off)

該命令實現程序語法高亮顯示(或者不高亮顯示)。

 

:set ignorecase(noignorecase)

該命令忽略大小寫(或者區分大小寫)。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章