標籤:

VIM學習筆記 縮寫(Abbreviation)

VIM學習筆記 縮寫(Abbreviation)

來自專欄 VIM學習筆記

利用:ab[breviate]縮寫命令,我們可以用一個縮寫來代替一組字元,此後只要輸入縮寫,就可以自動插入其代表的字元串以提高輸入效率。

設置縮寫

使用以下命令,將定義ad來代替advertisement:

:abbreviate ad advertisement

當想要輸入advertisement時,只要輸入ad,然後:

  • 如果按下Ctrl-]鍵,可以輸入advertisement並停留在插入模式;
  • 如果按下Esc鍵,將插入擴展字元並返回命令模式;
  • 如果按下Space或Enter鍵,那麼將在插入擴展字元後,自動增加空格或回車,並停留在插入模式。

不同模式下的縮寫

使用下表中不同形式的abbreviate命令,可以針對特定的模式設置縮寫:

所有模式:abbreviate

插入模式:iabbrev

命令行模式:cabbrev

縮寫實例

我們可以為多個單詞設置縮寫。例如以下命令,將設置Jack Berry的縮寫為JB。

:abbreviate JB Jack Berry

如果你編寫程序,那麼利用以下設置,可以加快添加註釋的速度:

:abbreviate #b /**********************:abbreviate #e **********************/

如果你設計網頁,那麼利用以下縮寫可以快速增加標籤。其中<CR><LF>將在標籤間自動插入換行,以方便你繼續輸入內容。

:iabbrev p <p><CR><LF></p>

利用以下命令,我們甚至還可以定位游標所處的位置:

:iabbrev icode <code class="inset">!cursor!</code><Esc>:call search(!cursor!,b)<CR>cf!

我們還可定義命令縮寫。例如以下命令,將在新的標籤頁中顯示幫助信息:

:cabbrev h tab h

我們可以將常用的縮寫命令定義在vimrc配置文件之中,它們將在Vim啟動時自動裝載,而不需要再逐一重新定義。

查看縮寫

使用:abbreviate命令,將列出所有縮寫定義,其中第一列顯示縮寫的類型:

標記模式!插入模式,命令行模式i插入模式c命令模式

取消縮寫

可以使用以下命令,移除某個縮寫:

:unabbreviate ad

針對不同模式下的縮寫,需要使用與其相對應的unabbreviate命令。例如:使用:iunabbreviate命令,取消插入模式下的縮寫,而:iabclear命令則會清除所有插入模式的縮寫定義;依此類推,取消和清除命令行模式下的縮寫,則需要使用:cunabbreviate和:cabclear命令。

如果想要清除所有縮寫,可以使用以下命令:

:abclear


推薦閱讀:

VIM學習筆記 寄存器 (Registers)
VIM學習筆記 鍵盤映射 (Map)
如何將 Vim 剪貼板裡面的東西粘貼到 Vim 之外的地方?
VIM常用操作命令梳理
萬行以上文本的分組編號——在 VIM 中嵌入 python 和 perl 腳本

TAG:Vim |