Vimscript 本地緩沖區(qū)縮寫

2018-02-24 16:02 更新

上一章講的東西比較多,完全理解會有點難,所以這一章來點容易的。我們已經(jīng)學習了如何定義本地緩沖區(qū)的映射和設(shè)置選項,現(xiàn)在以同樣的方式來學習本地緩沖區(qū)的縮寫。

打開你的foobar這兩個文件,切換到foo,然后執(zhí)行下面的命令:

:iabbrev <buffer> --- &mdash;

在文件foo下進入插入模式輸入下面的文本:

Hello --- world.

Vim會為你將---替換為“Hello“?,F(xiàn)在切換到bar試試。在bar中替換不會發(fā)生,這是因為我們所定義的縮寫被設(shè)置為只用于foo的本地緩沖區(qū)。

自動命令和縮寫

使用本地緩沖區(qū)的縮寫和自動命令來創(chuàng)建一個簡單的“snippet”系統(tǒng)。

執(zhí)行下面的命令:

:autocmd FileType python     :iabbrev <buffer> iff if:<left>
:autocmd FileType javascript :iabbrev <buffer> iff if ()<left>

打開一個Javascript文件然后輸入iff縮寫。然后再打開一個Python文件試試。Vim會依據(jù)文件類型在當前行執(zhí)行合適的縮寫。

練習

為你經(jīng)常編輯的文件創(chuàng)建更多的針對不同類型的文件的“snippet”縮寫。你可以為絕大多數(shù)語言創(chuàng)建return的縮寫,為javascript創(chuàng)建function的縮寫,以及為HTML文件創(chuàng)建&ldquo;&rdquo;的縮寫。

將你創(chuàng)建的snippets加入到你的~/.vimrc文件中。

記?。鹤詈玫膶W習使用這些snippets的方法是_禁用_之前你做這些事情的方式。執(zhí)行:iabbrev <buffer> return NOPENOPENOPE會_強迫_你使用縮寫,這個命令在你輸入return的時候不會輸出任何東西。為了節(jié)省學習的時間,為你剛才創(chuàng)建的snippets都創(chuàng)建一個上面的縮寫來_強迫_你使用你創(chuàng)建的snippets。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號