vimscript笔记
    
2019-03-09
关于
  
    
    
  
2019-03-09
资料
函数
函数调用
- 调用::call $func($para)
- 映射到按键(返回函数的返回值)
| inoremap <expr><tab> Func() | 
外部函数调用
在file.vim中定义
| function file#main() | 
在其他文件
| call file#main() | 
系统函数
- :help functions
- :expand("<cword>"):以字符串的形式返回当前光标下的词
命令
自定义命令
| command! On call MyFunction() | 
变量
变量的作用域
- g:全局
- s:当前脚本
- w:当前窗口
- t:当前的编辑器选项卡
- b:缓冲区
- l:当前的函数
- a:当前函数的一个参数
- v:vim的预定义变量
访问变量
- &- var:一个vim选项
- &l:- var:本地变量(局部变量)
- &g:- var:全局变量
- @- var:寄存器
- $- var:环境变量
特殊字符/按键
- 帮助: - :help keycodes
- <cword>:光标下的单词
- 
- expand(‘%’):当前文件名
- expand(‘%:e’):扩展名
- expand(‘%:r?’):去除扩展名?
- expand(‘%:p’):完整路径
- expand(‘%:h’):当前目录
 
- 打印一些特殊符号(例) - <c-v>:- :iunmap <c-v>(如果有)$\to$- <c-v>(准备输入特殊字符)$\to$- <c-v>(输入真的- CTRL+V)
 
 
关于vim-sb-complete
地址
-https://github.com/NiaBie/vim-sb-complete1
-https://github.com/NiaBie/vim-sb-complete2
-https://github.com/NiaBie/vim-sb-complete3
手册查询
- complete-items
- complete: 菜单
- ins-completion- completefunc
- omnifunc
 
踩过的坑
- getline最后没有换行符
- match返回的是匹配的位置
字符及转义
| let g:sbcom_isword = ["[0-9a-zA-Z:_]"] |