Vim 插入和替換文本篇


建立時間: 2024年9月13日 09:15
更新時間: 2024年11月13日 08:27

說明

本篇主要討論插入和替換模式。最後討論一些其它方式插入文本的命令。

插入模式特殊鍵

查看幫助: :help ins-special-keys

在插入和替換模式裡,以下字元有特殊意義。


<Esc>
CTRL-[

結束插入或替換模式,回到普通模式。


CTRL-A

插入最近插入的文本。


<BS>
CTRL-H

刪除遊標前的字元。


<Del>

刪除遊標下的字元。


CTRL-W

刪除遊標前的單字。


CTRL-U

刪除目前行上遊標前的所有輸入字元。


<Tab>
<CTRL-I>

插入製表(Tab)。


CTRL-J
<CR>
CTRL-M

開始新行。


CTRL-K {char1} [char2]

輸入二合字母,詳細請參考 使用二合字母


CTRL-N

查找下一個關鍵字,當 vim 跳出選項時會用到,例如:自動補全文字。用來移動下一個選項。


CTRL-P

查找上一個關鍵字,同 CTRL-N。用來移動上一個選項。


CTRL-R {register}

插入暫存器的內容。

在輸入 CTRL-R 和第二個字元之間," 會顯示出來,以提示你需要輸入暫存器的名字。

貼上複製的內容

複製的內容一般在 *+ 特殊暫存器,所以可以在插入模式輸入 CTRL-R *CTRL-R + 貼上複製的內容。


CTRL-T

在目前行開始處插入一個 shiftwidth 的縮排。縮排總是取整到 shiftwidth 的倍數。


CTRL-D

在目前行開始處刪除一個 shiftwidth 的縮排。縮排總是取整到 shiftwidth 的倍數。


0 CTRL-D

刪除所有目前行的縮排。


^ CTRL-D

刪除目前行的所有縮排。縮排在下一行中恢復。這在插入標籤時很有用。

自己操作時不知道為什麼沒有恢復…


CTRL-V

若下一個是非數字,則依本義插入。對特殊鍵而言,插入其終端代碼。 不然,輸入的是字元的十、八或十六進制值對應的字元編碼。

關於字元編碼輸入方式,請參考 :help i_CTRL-V_digit

字元編碼可參考最基本的 ASCII Table


CTRL-E

插入遊標下面(正下方)的字元。


CTRL-Y

插入遊標上面(正上方)的字元。


插入模式命令

a

在遊標後附加文字 [count] 次。


A

在行尾附加文字 [count] 次。


i

在遊標前插入文字 [count] 次。


I

在本行第一個非空白字元之前插入文字 [count] 次。


gI

在第一行插入文字 [count] 次。


gi

在目前緩衝區最近一次插入模式停止的位置繼續插入文字。


o

在遊標下方開啟新行,並插入文本,重複 [count] 次。


O

在遊標上方開啟新行,並插入文本,重複 [count] 次。


Ex 插入命令

:{range}a[ppend][!]

在指定行下方新增若干行。如果沒有給出 {range},文本會在目前行之後插入。

加入 [!] 切換此指令執行時的 autoindent


:{range}i[nsert][!]

在指定行上方新增若干行。如果沒有給出 {range},文本會在目前行之前插入。

加入 [!] 切換此指令執行時的 autoindent


使用二合字母

查看幫助文件: :help i_digraph

二合字母就是輸入兩個字元產生一些比較少見的字母或符號,例如: À Á。

有兩個方法輸入二合字母:

CTRL-K {char1} {char2}
{char1} <BS> {char2}

第一個方法總是可以用的;第二個方法只有在 digraph 選項置位的時候才可用。

我推薦使用 CTRL-K {char1} {char2} 就好,以免在刪字後誤加了二合字母。

二合字母表

有兩種方式可以瀏覽二合字母:

第一種是在 ex 命令模式輸入 :digraphs,另一種是查看幫助文件 :help digraph-table

實用的二合字母

字元 二合字母 正式名字
© Co COPYRIGHT SIGN
¼ 14 VULGAR FRACTION ONE QUARTER
½ 12 VULGAR FRACTION ONE HALF
¾ 34 VULGAR FRACTION THREE QUARTERS
OK CHECK MARK
XX BALLOT X
π p* GREEK SMALL LETTER PI

插入文件

:r[ead] [++opt] [name]

在遊標下方插入文件 [name] (預設: 當前文件)。


:{range}r[ead] [++opt] [name]

在指定行下方插入文件 [name] (預設: 當前文件)。

範例

:0r /path/to/file
在文件開頭插入 /path/to/file 的內容。

:$r /path/to/file
在文件結尾插入 /path/to/file 的內容。


:[range]r[ead] [++opt] !{cmd}

執行 {cmd} 並將它的標準輸出插入到遊標下方。


觀看次數: 134
insertreplacevim插入替換
按讚追蹤 Enjoy 軟體 Facebook 粉絲專頁
每週分享資訊技術

一杯咖啡的力量,勝過千言萬語的感謝。

支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!