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:_]"] |