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-itemscomplete: 菜单ins-completioncompletefuncomnifunc
踩过的坑
getline最后没有换行符match返回的是匹配的位置
字符及转义
let g:sbcom_isword = ["[0-9a-zA-Z:_]"] |