Vimscript 還剩下什么?

2021-08-30 15:42 更新

如果已經(jīng)讀到了這里并且完成了所有的例子和練習(xí),你現(xiàn)在對(duì)Vimscript基礎(chǔ)的掌握就很牢固了。 不要擔(dān)心,還有_許多_東西需要學(xué)呢!

如果你求知若渴,這里還有一些東西值得你去探索。

配色方案

在本書中我們給Potion文件添加了語(yǔ)法高亮。作為硬幣的另一面,我們也可以創(chuàng)建配色方案來(lái)決定每種語(yǔ)法元素的顏色。

制作Vim的配色方案非常簡(jiǎn)單直白,甚至有點(diǎn)重復(fù)。閱讀:help highlgiht來(lái)學(xué)習(xí)基礎(chǔ)知識(shí)。 你可能想要看看一些內(nèi)置的配色方案來(lái)看他們?cè)趺唇M織文件的。

如果你渴望挑戰(zhàn),看看我自己的灰太狼配色方案來(lái)了解我是怎么用Vimscript來(lái)為我簡(jiǎn)化定義及維護(hù)工作的。 注意"palette"字典和HL函數(shù),它們動(dòng)態(tài)地生成highlight命令。

Command命令

許多插件允許用戶使用鍵映射和函數(shù)調(diào)用來(lái)交互,但有一些偏好使用Ex命令。 舉個(gè)例子,Fugitive插件創(chuàng)建類似:Gbrowse:Gdiff并把調(diào)用它們的方式留給用戶定制。

像這樣的命令是通過(guò):command命令創(chuàng)建的。閱讀:help user-commands來(lái)學(xué)習(xí)怎樣給自己制作一個(gè)。 你應(yīng)該已經(jīng)學(xué)會(huì)了足夠的Vimscript知識(shí)來(lái)幫助自己理解Vim文檔,并以此來(lái)學(xué)習(xí)新的命令。

運(yùn)行時(shí)路徑

在本書中,關(guān)于Vim怎么加載某個(gè)文件時(shí),我都是用"使用Pathogen"應(yīng)付過(guò)去的。 鑒于你已經(jīng)懂得了許多Vimscript知識(shí),你可以閱讀:help runtimepath并查看Pathogen源代碼 來(lái)找出幕后隱藏的真相。

Omnicomplete

Vim提供了許多不同的方法來(lái)補(bǔ)全文本(瀏覽:help ins-completion)。 大多數(shù)都很簡(jiǎn)單,但其中最強(qiáng)大的是"omnicomplete", 它允許你調(diào)用一個(gè)自定義的Vimscript函數(shù)來(lái)決定你想到的各種補(bǔ)全方式。

當(dāng)你決定對(duì)omnicomplete一探究竟,你可以從:help omnifunc:help coml-omni開(kāi)始你的征途。

編譯器支持

在我們的Potion插件中,我們創(chuàng)建了一些編譯并執(zhí)行Potion文件的映射。 Vim提供了更深入的支持來(lái)跟編譯器交互,包括解析編譯器錯(cuò)誤并生成一個(gè)整潔的列表讓你跳轉(zhuǎn)到對(duì)應(yīng)的錯(cuò)誤。

如果你對(duì)此感興趣,你可以從通讀整篇:help quickfix.txt開(kāi)始深入。 不過(guò),我得提醒你errorformat不適合心臟虛弱的人閱讀。

其他語(yǔ)言

這本書專注于Vimscript,但Vim也提供了其他語(yǔ)言的接口,比如Python, Ruby, 和Lua。 這意味著如果不喜歡Vimscript,你可以使用其他語(yǔ)言拓展Vim。

當(dāng)然還是需要了解Vimscript來(lái)編輯你的~/.vimrc,和理解Vim提供給其他語(yǔ)言的API。 但使用一個(gè)替代語(yǔ)言可能是從Vimscript的局限之處解放出來(lái)的好辦法,尤其在寫大型插件的時(shí)候。

如果你想了解更多用特定語(yǔ)言拓展Vim,查看下列對(duì)應(yīng)的幫助文檔:

  • :help Python
  • :help Ruby
  • :help Lua
  • :help perl-using
  • :help MzScheme

Vim文檔

作為最后的部分,這里列出了一些Vim幫助條目,它們非常有用,有趣,有道理,或者僅僅是好玩(排名不分先后):

  • :help various-motions
  • :help sign-support
  • :help virtualedit
  • :help map-alt-keys
  • :help error-messages
  • :help development
  • :help tips
  • :help 24.8
  • :help 24.9
  • :help usr_12.txt
  • :help usr_26.txt
  • :help usr_32.txt
  • :help usr_42.txt

練習(xí)

去為你想要的功能寫一個(gè)Vim插件,向全世界分享你的成果!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)