1. 程式人生 > >vim基礎命令,查詢和替換

vim基礎命令,查詢和替換

vim 基本命令查詢和替換

vim簡單的命令用著還好。比如插入,刪除,查詢。但替換就用的比較少。所以,還是需要用的時候拿出來對照者看。

使用vim編輯檔案:

vim xxx

進入之後的介面叫做命令模式介面。可以修改檔案編輯的時候叫做插入模式。

(命令模式)冒號+指令

在vim命令模式介面想要退出,需要輸入冒號和指令

:wq   儲存並退出
:q  維修改退出
:q! 強制退出並不儲存

(命令模式)移動游標

在vim介面,命令模式下游標移動方法

1、使用上下左右方向鍵

2、命令模式下:
h   向左
j   向下 
k   向上
l  向右

空格鍵 向右
Backspace  向左
Enter  移動到下一行首
-  移動到上一行首。

:set  nu     //顯示行號
:set nonu    //取消顯示行號
n+        //向下跳n行
n-         //向上跳n行
nG        //跳到行號為n的行
G           //跳至檔案的底部
g         //跳轉到檔案頭部

(插入模式)編輯模式

以下按鍵進入編輯插入模式

a      //在當前游標位置的右邊新增文字
i       //在當前游標位置的左邊新增文字
A     //在當前行的末尾位置新增文字
I      //在當前行的開始處新增文字(非空字元的行首)
O     //在當前行的上面新建一行
o     //在當前行的下面新建一行
R    //替換(覆蓋)當前游標位置及後面的若干文字
J    //合併游標所在行及下一行為一行(依然在命令模式)

ESC可以退出編輯模式

(命令模式)刪除和複製

在vim中, 除了在編輯模式下修改檔案,命令模式的時候可以刪除和複製

x         //刪除當前字元
nx         //刪除從游標開始的n個字元
dd       //刪除當前行
ndd      //向下刪除當前行在內的n行
u        //撤銷上一步操作
U        //撤銷對當前行的所有操作
yy       //將當前行復制到快取區,也可以用 "ayy 複製,"a 為緩衝區,a也可以替換為a到z的任意字母,可以完成多個複製任務。
nyy      //將當前行向下n行復制到緩衝區,也可以用 "anyy 複製,"a 為緩衝區,a也可以替換為a到z的任意字母,可以完成多個複製任務。
yw       //複製從游標開始到詞尾的字元。
nyw      //複製從游標開始的n個單詞。
y^       //複製從游標到行首的內容。  VPS偵探
y$       //複製從游標到行尾的內容。
p        //貼上剪下板裡的內容在游標後,如果使用了前面的自定義緩衝區,建議使用"ap 進行貼上。
P        //貼上剪下板裡的內容在游標前,如果使用了前面的自定義緩衝區,建議使用"aP 進行貼上。

(命令模式)搜尋和替換

命令模式下(esc退出插入模式)

/keyword     //向光標下搜尋keyword字串,keyword可以是正則表示式
?keyword     //向光標上搜索keyword字串
n           //向下搜尋前一個搜素動作
N         //向上搜尋前一個搜尋動作

*(#)      //當游標停留在某個單詞上時, 輸入這條命令表示查詢與該單詞匹配的下(上)一個單詞. 同樣, 再輸入 n 查詢下一個匹配處, 輸入 N 反方向查詢.

g*(g#)        //此命令與上條命令相似, 只不過它不完全匹配游標所在處的單詞, 而是匹配包含該單詞的所有字串.

:s/old/new      //用new替換行中首次出現的old
:s/old/new/g         //用new替換行中所有的old
:n,m s/old/new/g     //用new替換從n到m行裡所有的old
:%s/old/new/g      //用new替換當前檔案裡所有的old