《5分鐘搞懂 Vim文字編輯器 – 學習筆記》

Telegram share !

Vim 是一款由 Bram Moolenaar 開發的免費、開源的文字編輯器。它以其強大的功能和可自定義性而聞名,是許多程式設計師和開發人員的首選編輯器。

Vim 的前身是 Unix 系統上的 vi 編輯器,Vim 在 vi 的基礎上增加了許多新功能,使其更加強大易用。Vim 可以運行在各種作業系統上,包括 Linux、macOS 和 Windows。本筆記我會將常用的語法分享給大家參考,我也順便紀錄下來當作備忘錄,也希望藉由此次分享讓初學者能更快掌握相關語法。

Vim工具安裝

1.Linux安裝

在 Linux 系統上,可以使用套件管理工具來安裝 Vim。例如,在 Ubuntu 或 Debian 系統上,可以使用以下命令安裝 Vim:

sudo apt install vim

在 CentOS 或 Fedora 系統上,可以使用以下命令安裝 Vim:

sudo yum install vim

2.macOS安裝

在 macOS 系統上,可以使用 Homebrew 來安裝 Vim。Homebrew 是一個第三方套件管理工具,可以幫助你輕鬆安裝各種軟體。

首先,安裝 Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然後,使用 Homebrew 安裝 Vim:

brew install vim

3.Windows

在 Windows 系統上,可以從 Vim 官方網站下載 Vim 安裝程式:https://www.vim.org/download.php

下載安裝程式後,雙擊執行即可安裝 Vim。

基本操作

文件保存與退出

:w
:wq
:q!
:qa

刪除字符

x:刪除游標選中的字符

插入字符

i:進入編輯模式

行末添加新字符

A:可在當前游標行末添加新字符

刪除/撤銷

d 命令及其參數

Many commands that change text are made from an operator and a motion.
The format for a delete command with the  d  delete operator is as follows:

    d   motion

Where: 
  d      - is the delete operator.
  motion - is what the operator will operate on (listed below).

A short list of motions:
  w - until the start of the next word, EXCLUDING its first character.
  e - to the end of the current word, INCLUDING the last character.
  $ - to the end of the line, INCLUDING the last character.

dw:刪除游標後的單詞,游標停留在下一個單詞的開頭
de:刪除游標後的單詞,游標停留在下一個單詞開頭的前一個字符
d$:刪除至行末

w/e 移動游標

w:移動至下一個單詞的開頭,可與數字連用,例如2w會移動至後數第二個單詞的開頭
e:移動至下一個單詞的末尾,可與數字連用,例如3e會移動至後數第三個單詞的末尾
0:移動至游標所在行的開頭(類似Home)
d2w:刪除游標後數的兩個單詞,游標停留在第三個單詞的首字符
d2e:刪除游標後數的兩個單詞,游標停留在第三個單詞首字符的前一個字符

dd 刪除整行

dd:刪除當前行
2dd:刪除包括當前行之後的 2 行

Undo/Redo

u:撤銷最近的一次更改
U:撤銷整行的更改
Ctrl+R:Redo

插入/替換/編輯

p 命令

p:將上一次刪除的內容插入到游標之後

r 命令

r:替換游標選中的字符

c 命令

#與d命令類似,滿足以下格式:
> c [number] motion

ce:編輯游標之後的單詞直至其末尾
c2e:編輯游標之後的 2 個單詞直至其末尾
c$:編輯游標至行末的內容

定位/搜尋替換/括號匹配

快速定位

Ctrl+G:顯示當前位置及行號
G:移動至文件末尾
gg:移動至文件開頭
313 G:移動至第313行

搜尋

/pattern:向後搜尋包含pattern的字符串
?pattern:向前搜尋包含pattern的字符串
n:下一個匹配
N:上一個匹配
Ctrl+O:跳轉至游標上一次所在位置
Ctrl+I:跳轉至游標下一次所在位置

取代

:s/old/new:將該行第一個出現的old取代為new
:s/old/new/g:將該行所有出現的old取代為new
:#,#s/old/new/g:將兩行之間所有出現的old取代為new
:%s/old/new/g:將文件中所有出現的old替換為new
:%s/old/new/g:查找文件中所有出現的old,並提示用戶是否用new進行替換

括號匹配

%:查找與游標後最近的左括號(、[、{匹配的右括號

執行終端機命令/儲存至文件

執行終端機命令

:!command:例如:!pwd將打印當前工作目錄路徑

儲存至文件

:w FILENAME:將更改保存至FILENAME

儲存選中內容

首先在起始行按下v進入可視化選擇模式
移動游標,選中想要儲存的內容
之後按下:,螢幕下方會出現:'<,'>
輸入w TEST,即螢幕下方顯示:'<,'>w TEST,將選中內容儲存至TEST

插入文件內容

:r TEST:在游標後插入文件TEST的內容
:r !pwd:在游標後插入pwd命令輸出的內容

新行插入/連續替換/複製貼上/搜尋選項

o 命令

:o:在游標下方插入新行,並進入編輯模式
:O:在游標上方插入新行,並進入編輯模式

a 命令

:a:在當前游標之後插入新內容,並進入編輯模式

R 命令

:R:進入編輯模式,並用輸入的字符替換當前游標選中的字符

複製/貼上

y:復制選中內容
y2w:復制游標之後的兩個單詞
p:在游標之後貼上內容

設置搜尋選項

:set ic:Ignore Case,忽略大小寫
:set noic:開啟大小寫
:set hls:Highlight Search,高亮搜尋
:nohlsearch:取消當前的高亮,可簡寫為:nohl或:noh
:set is:Increasing Search,遞進搜尋
:set nois:取消遞進搜尋

查看幫助文件/自動補全

查看幫助文件

:help:打開幫助文件

自動補全

Ctrl+D:顯示所有匹配開頭的命令
Tab:自動補全至下一項

Reference