Vim 是一款功能強大的文本編輯器,廣泛應用于編程、配置文件編輯以及日常文本處理。Vim 在其命令行模式下提供了豐富的操作命令,這些命令能夠大幅提升編輯效率。以下是 Vim 中常用的命令及操作的總結,覆蓋了 Vim 中的基本操作、查找、替換、文件操作、窗口管理、宏操作等多個方面。
一、Vim 模式
Vim 的操作方式基于多種模式,最常見的包括:
-
普通模式(Normal Mode):用于瀏覽、刪除、復制和粘貼等操作。
-
插入模式(Insert Mode):用于文本的輸入。
-
命令模式(Command-line Mode):用于輸入執行命令,如保存、退出等。
-
可視模式(Visual Mode):用于文本選擇和操作。
二、基本操作命令
1. 啟動和退出
-
啟動 Vim:
vim filename
或vi filename
。 -
退出 Vim:
-
:q
:退出當前文件(如果文件已保存)。 -
:q!
:強制退出當前文件,不保存更改。 -
:wq
或ZZ
:保存并退出。 -
:x
:保存并退出(類似:wq
)。 -
:w filename
:保存文件為新名稱。
-
2. 模式切換
-
從普通模式切換到插入模式:
i
(當前光標位置),I
(行首),a
(光標后),A
(行尾)。 -
從插入模式切換到普通模式:
Esc
。 -
從普通模式切換到可視模式:
v
(字符選擇),V
(行選擇),Ctrl+v
(塊選擇)。
3. 移動光標
1. 按字符、單詞、行和頁面移動
-
左、右、上、下移動:
h
、j
、k
、l
。 -
移動單詞:
w
(跳到下一個單詞的開頭),b
(跳到上一個單詞的開頭),e
(跳到單詞的結尾)。 -
移動到行首或行尾:
0
(行首),$
(行尾)。 -
移動到特定行:
<number>G
(跳轉到第number
行),gg
(跳到文件開頭),G
(跳到文件末尾)。
2. 頁面操作
-
向上/向下滾動頁面:
Ctrl+u
(向上),Ctrl+d
(向下)。 -
跳轉到屏幕頂部/底部:
H
(頂部),M
(中部),L
(底部)。
4. 文本插入和刪除
-
刪除單個字符:
x
(刪除光標處字符)。 -
刪除單詞:
dw
(刪除光標所在單詞),daw
(刪除光標所在單詞及前后的空格)。 -
刪除行:
dd
(刪除當前行)。 -
刪除直到行尾:
D
(刪除光標到行尾的內容)。 -
刪除到指定字符:
d<char>
(刪除到指定字符<char>
為止)。 -
刪除到指定位置:
d<number>G
(刪除到指定行)。
5. 剪切、復制和粘貼
-
剪切:
d
+ 移動命令(例如dw
或dd
)。 -
復制:
y
(復制) + 移動命令(例如yw
或yy
)。 -
粘貼:
p
(光標后粘貼),P
(光標前粘貼)。
6. 撤銷與重做
-
撤銷:
u
(撤銷上一個操作),Ctrl+r
(重做)。
三、查找和替換
1. 查找
-
查找字符串:
/pattern
(查找下一個匹配pattern
的字符串),?pattern
(向上查找)。 -
查找下一個:
n
(查找下一個匹配的字符串)。 -
查找上一個:
N
(查找上一個匹配的字符串)。
2. 替換
-
替換當前行的第一個匹配項:
:s/old/new/
。 -
替換當前行所有匹配項:
:s/old/new/g
。 -
替換全文件范圍:
:%s/old/new/g
。 -
在替換時確認:
:%s/old/new/gc
(c
表示每次替換時詢問確認)。
3. 高級查找和替換
-
使用正則表達式:
/pattern
和:s/old/new/g
支持基本的正則表達式,可以使用如\d
、\w
等。 -
查找并替換區間:
:'<,'>s/old/new/g
(區間替換)。
四、文件操作
1. 打開和切換文件
-
打開新文件:
:e filename
。 -
保存文件:
:w
。 -
保存并退出:
:wq
。 -
切換到最近編輯的文件:
:e #
。 -
切換文件標簽:
:bnext
(下一個文件),:bprev
(上一個文件)。
2. 文件瀏覽
-
查看文件信息:
:ls
(列出緩沖區中的所有文件),:file
(顯示當前文件的路徑和狀態)。 -
切換文件:
:b <buffer number>
(切換到指定編號的緩沖區)。
五、窗口和標簽頁管理
1. 分屏顯示
-
垂直分屏:
:vsp filename
(垂直分屏打開文件)。 -
水平分屏:
:sp filename
(水平分屏打開文件)。 -
切換分屏:
Ctrl+w
+h
(左側分屏),Ctrl+w
+j
(下側分屏),Ctrl+w
+k
(上側分屏),Ctrl+w
+l
(右側分屏)。 -
關閉分屏:
:q
(關閉當前分屏)。
2. 標簽頁管理
-
新建標簽頁:
:tabnew
。 -
切換標簽頁:
:tabnext
(下一個標簽頁),:tabprev
(上一個標簽頁)。 -
關閉標簽頁:
:tabclose
。
六、宏操作
1. 錄制宏
-
開始錄制宏:
q<char>
(開始錄制到寄存器char
)。 -
執行宏:
@char
(執行寄存器char
中的宏命令)。 -
以指定次數重復執行宏:
<number>@char
。
2. 退出宏錄制
-
停止錄制宏:
q
(停止錄制并退出)。
七、文本操作和格式化
1. 縮進
-
增加縮進:
>>
(增加當前行縮進),3>>
(增加接下來的三行縮進)。 -
減少縮進:
<<
(減少當前行縮進),3<<
(減少接下來的三行縮進)。
2. 復制與移動
-
復制到系統剪貼板:
"+y
(復制),"+p
(粘貼)。 -
剪切到系統剪貼板:
"+d
(剪切)。 -
從剪貼板粘貼:
"+p
(粘貼內容)。
3. 自動縮進
-
啟用自動縮進:
:set autoindent
,:set smartindent
,:set tabstop=4
(設置制表符寬度為4)。 -
禁用自動縮進:
:set noautoindent
。
八、Vim 高級操作
1. 跳轉和標記
-
設置標記:
m<char>
(設置標記char
,例如ma
)。 -
跳轉到標記:
'<char>
(跳轉到標記位置)。
2. 自定義快捷鍵
-
映射快捷鍵:
:map
(映射一個快捷鍵),nmap
(普通模式映射),imap
(插入模式映射)。 -
示例:
:nmap <F5> :w<CR>
(將 F5 鍵映射為保存文件)。
九、Vim 插件管理
1. 使用插件管理器
-
使用 Vundle 安裝插件:
-
安裝插件管理器:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
-
配置插件:在
.vimrc
文件中添加插件,例如:Plugin 'tpope/vim-fugitive'
-
安裝插件:
:PluginInstall
-
2. 使用其他插件管理器
-
vim-plug
:Plug 'junegunn/fzf.vim'
。 -
安裝插件:
PlugInstall
。
總結
Vim 提供了非常豐富的命令和操作方式,掌握這些命令可以極大地提高編輯效率。對于日常的編輯任務,了解基本的移動、復制、粘貼、查找和替換命令是必不可少的;而對于高級用戶,掌握窗口管理、宏錄制以及插件管理等功能,將能更好地發揮 Vim 的強大功能。
當然也可傳輸到本地用typora或者其他txt工具