vim(1)基礎知識(最常見的知識點)

Vim工作模式

Vim的三種最基礎工作模式:

命令模式:以快捷鍵在命令模式做操作。vim默認爲命令模式。
插入模式:即可以使用鍵盤做操作。
編輯模式:以命令與回車進行操作。

注:進入編輯模式的標誌是冒號

模式之間的切換
這裏寫圖片描述

在編輯模式下,輸入命令可以打開或關閉行號的顯示。

set nu :顯示行號。
set nonu :隱藏行號。

插入命令

如下按鍵,使vim從命令模式切換到插入模式。

a:在光標後附加文本
A:在本行行末附加文本。
i:在光標前插入文本
I:在本行開始前插入文本。
o:在光標所在行之後下插入新行。
O:在光標所在行之前插入新行。

光標(定位)命令

字符間跳轉:

這裏寫圖片描述

數字+光標移動鍵

例:數字+h: 向左側跳指定個字符;一以此類推。

行內跳轉:

^: 跳至行首的第一個非空白字符。
$: 跳至絕對行尾。
0: 跳至絕對行首。

單詞間跳轉:

w: 後一個單詞的詞首
e: 跳至當前或下一個單詞啓尾;
b: 跳至當前或前一個單詞啓首;

句子間跳轉:

) : 下一句;
( : 前一句;

段落間跳轉:
} : 下一段;
{ : 前一段;

屏幕中跳轉:

H:移至屏幕上端。
M:移至屏幕中央。
L:移至屏幕下端。

光標跳轉至指定行:

gg :到第一行。
G :到最後一行。
nG :到第n行。
:n :到第n行。
<b>行號命令</b>

刪除命令

x:刪除光標所在處字符。
nx:刪除光標所在處後n個字符。
dd:刪除光標所在行。
ndd:刪除n行。
D:刪除從光標所在處到行尾。
dG:刪除光標所在行到文件末尾的內容。

在編輯模式下

:n1,n2d:n1,n2表示行號。刪除指定範圍的行。

複製和剪切命令

yy、Y:複製當前行。
nyy、nY:複製當前行以下n行。
dd:剪切當前行。
ndd:剪切當前行以下n行。
p、P:粘帖在當前光標所在行下或行上。

剪切粘貼:

 dd+p

複製粘貼:

 yy+p

替換命令

字符 使用方法 說明 例子
r 更改光標所在處的字符
R 從光標所在處開始替換字符,按下Esc結束
:%s/old/new/g 全文替換字符串。old表示原字符串,new表示新字符串
:n1,n2s/old/new/g n1、n2表示行號。old表示原字符串,new表示新字符串。 4,10s/superman/aoteman/g
:n1,n2s/old/new/g c 在命令後使用c,表示替換時,會提示。

技巧

連續行註釋

:n1,n2s/^/#/g :爲n1行到n2行的行首插入“#”。n1,n2爲數字,表示行號;^是一個特殊符號,表示行首。
:n1,n2s/#//g :爲n1行到n2行中的“#”去除。n1,n2爲數字,表示行號。
:n1,n2s/^#//g :爲n1行到n2行中行首的“#”去除。n1,n2爲數字,表示行號。^是一個特殊符號,表示行首。
:n1,n2s/^/\/\//g :爲n1行到n2行的行首插入“//”。n1,n2爲數字,表示行號;^是一個特殊符號,表示行首。\是轉義符。

輸入替換
編輯模式下輸入
:ab mymail [email protected]
回車後,在插入模式下每當輸入了“mymail ”,vim將自動將其替換爲“[email protected]
取消ab設置。
:unab mymail [email protected]

搜索命令

/string :命令模式下輸入“/”再輸入需要查找的字符串,回車。vi即會開始查找字符串。該搜索區分大小寫。

n:定位到下一個匹配的字符串。
N:定位到上一個匹配的字符串。

編輯模式寫,打開 忽略大小寫功能

:set ic

關閉 忽略大小寫功能

:set noic

撤銷命令

u:取消上一步操作。保存後無法再進行撤銷。

保存與退出

命令模式

保存 :w
另存爲 :w /filepath/filename
保存退出 :wq、ZZ(shift+z+z)
強制保存退出 :wq!
強行退出 :q!
注:文件的所有者或者root用戶,即便沒有文件的寫權限,也可以強行保存退出。 

vi中執行命令

編輯模式下,使用:!後跟Linux命令,這樣就可以在vi中執行Linux命令了。

例:查看/root目錄下的內容
:! ls /root

導入文件內容

:r /fileparh/filename
將指定文件的內容導入到當前正在編輯的文件中

導入執行結果

:r !linux

例:這是一個小技巧,在文件中導入時間。
:r !date

map定義快捷鍵

:map 快捷鍵  替代內容

使用map可以在vi中定義快捷鍵。使用unmap取消快捷鍵。

例:定義【Ctrl+E】在文檔中快速插入自己的郵箱。
“:map ^E [email protected]”

例:定義【Ctrl+B】在光標所在行的第一個字母取出。該快捷鍵可用於shell腳本中刪除第一個字母 # 。
“:map ^B 0x”

注:^打法:ctrl+v

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