Vimscript 還剩下什么?

2021-08-30 15:42 更新

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

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

配色方案

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

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

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

Command命令

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

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

運行時路徑

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

Omnicomplete

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

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

編譯器支持

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

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

其他語言

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

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

如果你想了解更多用特定語言拓展Vim,查看下列對應(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í)

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號