編輯器之神
本系列教程針對對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”
示例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
效果:
使用縮寫(abbreviations)
例子:地址縮寫
:iabbrev myAddr 32 Lincoln Road, Birminham B27 6PA, United Kingdom
當輸入 myAddr 和 空格 時,Vim自動將地址補全。
截圖:
在呼叫縮寫是詢問是否需要擴充套件功能:
function! s:AbbrAsk(addr, expansion) let answer = confirm(“use the abbreviation ‘” 。 a:addr 。 “’?”, “&yes\n&No”, 1) return answer == 1 ? a:expansion : a:addrendfunctioniabbrev
截圖:
修改按鍵繫結
使用 inoremap, vnoremap, cnoremap。
每次學一點,腳踏實地每一步。