vim編輯器VimScript外掛開發系列一「定製Vim 4」

vim編輯器VimScript外掛開發系列一「定製Vim 4」

編輯器之神

本系列教程針對對Vim編輯器感興趣,並使用過一些時間,想自己開發Vim外掛的小夥伴。有任何問題(無論您是新手還是老手)都可以留言私信我,一定盡力幫忙,如果您覺得有用請幫忙點個贊。我會不定時發一些技術文章,您可以關注我,檢視我的更新狀態。

Vim 的設計哲學是:如果使用者曾經為某件事物寫過一次,那就不需要再寫第二次。

工作區定製

:set cursorline:set cursorcolumn:set number:set numberwidth=[width]:set spell “ 拼寫檢查:set spelllang=de ” 德語:set spelllang=en,da,de,it “ 設定多種語言:set spellsuggest=[width] ” width 列表最大長度

在帶波浪線(拼寫有錯誤的單詞)下按 “z=”,vim會把提示資訊顯示出來。

新增工具提示

工具提示相關命令:

請用 balloons :

:set ballooneval

顯示資訊之前需要等待的時間,預設600ms:

:set balloondelay=400

設定資訊內容:

set balloonexpr=“textstring”

vim編輯器VimScript外掛開發系列一「定製Vim 4」

示例1: 基於Vim的幫助系統,編寫簡單函式,顯示所有變數:

function! SimpleBalloon() return ‘Cursor is at line/column: ’ 。 v:beval_lnum 。 ‘/’ 。 v:beval_col 。 ‘ in file ’ 。 bufname(v:beval_bufnr) 。 \ ‘。 Word under cursor is: “’ 。 v:beval_text 。 ‘”’endfunctionset balloonexpr=SimpleBalloon()set ballooneval

效果:

vim編輯器VimScript外掛開發系列一「定製Vim 4」

使用縮寫(abbreviations)

vim編輯器VimScript外掛開發系列一「定製Vim 4」

例子:地址縮寫

:iabbrev myAddr 32 Lincoln Road, Birminham B27 6PA, United Kingdom

當輸入 myAddr 和 空格 時,Vim自動將地址補全。

截圖:

vim編輯器VimScript外掛開發系列一「定製Vim 4」

在呼叫縮寫是詢問是否需要擴充套件功能:

function! s:AbbrAsk(addr, expansion) let answer = confirm(“use the abbreviation ‘” 。 a:addr 。 “’?”, “&yes\n&No”, 1) return answer == 1 ? a:expansion : a:addrendfunctioniabbrev addr AbbrAsk(‘addr’, “your full address here”)

截圖:

vim編輯器VimScript外掛開發系列一「定製Vim 4」

修改按鍵繫結

使用 inoremap, vnoremap, cnoremap。

每次學一點,腳踏實地每一步。