本系列教程针对对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 . "'?