W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如果你未曾用過Vim的段移動命令 ([[
,?]]
,?[]
?and?][
),現(xiàn)在花上幾秒讀讀它們的幫助文檔。 也順便讀讀:help section
。
還是不懂?這不是什么問題,我第一次讀這些的時候也是這樣。 在寫代碼之前,我們先岔開來學(xué)習(xí)這些移動是怎么工作的,然后在下一章我們將使得我們的Potion插件支持它們。
四個"段移動"命令正如其字面上的含義,可以用來在文件的"段"之間移動。
這些命令默認(rèn)為[nroff文件][]而設(shè)計。 Nroff類似于LaTex或Markdown -- 它是用來寫標(biāo)記文本的(最終會生成UNIX man頁面)。
Nroff文件使用一組"macro"來定義"段頭"。 比如,這里有個來自于awk
man頁面的例子:
.SH NAME ***
awk \- pattern-directed scanning and processing language
.SH SYNOPSIS ***
.B awk
[
.BI \-F
.I fs
]
[
.BI \-v
.I var=value
]
[
.I 'prog'
|
.BI \-f
.I progfile
]
[
.I file ...
]
.SH DESCRIPTION ***
.I Awk
scans each input
.I file
for lines that match ...
以.SH
開頭的行就是段頭。我用***
把它們標(biāo)記出來。 四個段移動命令將在段頭行之間移動你的光標(biāo)。
Vim以.
和nroff的段頭符開始的任何行當(dāng)做一個段頭,即使你編輯的不是nroff文件!
你可以改變sections
設(shè)置來改變段頭符,但Vim依舊需要在行開頭有一個點,而且段頭符必須是成對的字符, 所以這樣改對Potion文件不會有足夠的靈活性。
段移動命令_也_查看另一樣?xùn)|西:一個打開或關(guān)閉的大括號({
或}
)作為行的第一個字符。
[[
和]]
查看開括號,而[]
和][
查看閉括號。
這額外的"行為"使得你可以在C風(fēng)格語言的段之間輕松移動。 然而,這些規(guī)則也依舊沒有顧及你正在編輯的文件類型!
加入下面內(nèi)容到一個緩沖區(qū)里:
Test A B
Test
.SH Hello A B
Test
{ A
Test
} B
Test
.H World A B
Test
Test A B
現(xiàn)在執(zhí)行:set filetype=basic
來告訴Vim這是一個BASIC文件,并嘗試段移動命令。
[[
和]]
命令將在標(biāo)記為A
的行之間移動,而[]
和][
將在標(biāo)記為B
的行之間移動。
這告訴我們,Vim總是用同樣的兩條規(guī)則來處理段移動,即使沒有一條是起作用的(比如在BASIC中的情況)!
再次閱讀:help section
,現(xiàn)在你應(yīng)該可以理解段移動了。
也順便讀讀:help sections
吧。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: