來自:Java識堂(微訊號:erlieStar)
1、vim開啟檔案的幾種方式
命令 | 作用 |
---|---|
vim +n filename | 開啟檔案,並定位到第n行 |
vim + filename | 開啟檔案,並定位到最後一行 |
vim +/pattern filename | 定位至第一次被pattern匹配到的行的行首 |
https://mp.weixin.qq.com/s/X9VnWCm4hbiqjQb-DUvAvQ
按行或pattern,可以快速開啟到配置檔案錯誤的地方,或者日誌中報錯的地方。
如從監控系統,或者郵件收到報錯資訊時,直接根據時間定位到相應的日誌位置
vim +/"2019-02-17 23:01:49.994" server.log
2、vim的三種樣式
命令樣式(command mode)
命令樣式是Vim的預設操作樣式,當使用vim命令開啟一個檔案時,預設進入的就是命令樣式。不管使用者處於何種樣式,只要按下Esc鍵就可使進入命令列樣式
編輯樣式(input mode)
只有在vim編輯樣式下,才能將鍵盤鍵入的內容輸入到當前開啟的檔案中
尾行樣式(last line mode)
尾行樣式主要用於儲存檔案或退出Vim,同時也可以設定編輯環境和一些編譯工作,如列出行號(set nu)、尋找字串(/target)等
在命令樣式下,使用者按冒號鍵(:)即可進入末行樣式下,此時Vi會在顯示視窗的最後一行顯示一個”:“作為末行樣式的提示符,等待使用者輸入命令
三種樣式的切換如下圖
3、命令樣式下的常用命令
游標移動命令
上 下 左 右
用鍵盤上的方向鍵也可,看個人習慣,這種方式比較省時間
命令 | 作用 |
---|---|
h | ← |
j | ↓ |
k | ↑ |
l | → |
行級移動
命令 | 作用 |
---|---|
0 | 移動游標到當前行行首 |
$ | 移動游標到當前行行尾 |
^ | 移動游標到當前行的第一個非空字元 |
nG或者ngg | 移動游標到當前檔案的第n行 |
:n | 移動游標到當前檔案的第n行 (同上) |
檔案首尾移動
命令 | 作用 |
---|---|
gg 或 :0 | 移動游標到當前檔案的第一行 |
G 或 :$ | 移動游標到當前未經的最後一行 |
翻頁
命令 | 作用 |
---|---|
Ctrl + b | 向前滾動一頁 |
Ctrl + f | 向後滾動一頁 |
Ctrl + u | 向前滾動半頁 |
Ctrl + d | 向後滾動半頁 |
文字編輯命令
插入
在命令樣式下按以下按鍵可進入編輯樣式,執行插入操作,具體包括:
命令 | 作用 |
---|---|
a | 在當前游標所在字元的後面開始插入 |
A | 在當前游標所在行的行尾開始插入 |
i | 在當前游標所在字元的前面 開始插入 |
I | 在當前游標所在行的行首開始插入 |
o | 從游標當前所在行的下一行處開始插入 |
O | 從游標當前所在行的上一行處開始插入 |
s | 刪除當前游標所在的字元開始插入 |
S | 刪除當前游標所在的行開始插入 |
刪除
命令 | 作用 |
---|---|
x | 刪除當前游標所在的字元 |
X | 刪除當前游標所在字元的前一個字元 |
dd | 刪除/剪下游標所在的行 |
複製 貼上
命令 | 作用 |
---|---|
yw | 複製從游標所在位置到當前【單詞結束】部分的內容 |
yy | 複製游標所在【行】的所有字元 (包含換行符) |
p | 將最後一次刪除或複製操作的文字內容貼上到游標所在字元之【後】 |
P | 將最後一個刪除或複製操作的文字內容貼上到游標當前字元之【前】 |
撤銷 反撤銷
命令 | 作用 |
---|---|
u | 撤銷最近的一次操作 |
+ r | 恢復最近的一次操作(取消撤銷) |
多次執行u 命令可以連續撤銷最近的操作,多次執行Ctrl+r可以連續取消撤銷
查詢命令
基本搜尋
在Vim命令樣式下,輸入 / 或 ? 符號就進入了搜尋樣式,/ 用於正嚮往下搜尋,? 用於反嚮往上搜索
命令 | 作用 |
---|---|
n | 查詢下一個 |
N | 查詢上一個 |
正則運算式搜尋
為了更好的進行搜尋,Vim支援正則運算式,最基本的正則運算式規則包括:
符號 | 含義 |
---|---|
^ | 表示一行的開頭 |
$ | 表示一行的結尾 |
. | 表示任意一個字元 |
* | 匹配0次或n次 |
如查詢行首為test的行,命令樣式下輸入如下即可
/^test
4、尾行樣式下的命令
命令
作用
:w
儲存文字
:q
退出vim,沒有修改過檔案
:w!
強制儲存,在root使用者下,檔案只讀也可儲存
:q!
強制退出,所有改動不生效
:wq
儲存並退出
😡
儲存並退出
ZZ
等同於:wq
:set nu
顯示行號
:set nonu
不顯示行號
:set readonly
設定只讀
●編號720,輸入編號直達本文
●輸入m獲取文章目錄
運維
更多推薦《25個技術類公眾微信》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。