首页 > 代码库 > vim编辑lua代码配置

vim编辑lua代码配置

vim编辑c/c++有很多教程,也比较好弄,编辑lua会有些问题

最近弄了好长时间,总算基本需求都弄好了,总结下。


主要看的文章是

vim用户手册中文版

手把手教你把Vim改装成一个IDE编程环境


主要用的插件是:我用的插件已经上传:资源
vimmanager
grep.vim
minibufexpl.vim
taglist_45
vim-misc
vim-lua-ftplugin
用的软件:
grep
ctags58


一般问题

vim编辑文件(主要是c/c++)主要功能 手把手教你把Vim改装成一个IDE编程环境 中都有介绍,但是不是都有用,下面是我用到的


顶部打开文件列表和左边文件夹预览与文件预览
所用插件 TagList WinManager
_vimrc配置
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let g:miniBufExplMapWindowNavArrows=1
let g:winManagerWindowLayout=‘FileExplorer|TagList‘


开关左边栏快捷键设置
每次都输入WMToggle太麻烦,_vimrc中添加下面行即可用wm开关
nmap wm :WMToggle<cr>


打开lua文件自动执行wm
au VimEnter *.lua :WMToggle


F3一键搜索
所用插件grep.vim
输入:Grep xxx * -r太麻烦,_vimrc中添加下面行F3一键搜索
nmap <silent><F3> :Grep <c-r>,c-w> * -r <CR>

lua相关

所用插件 vim-lua-ftplugin vim-misc
安装完以后编辑lua文件的时候很多功能正常了,比如[{跳转


ctags

ctags默认生成tag是按照c/c++格式生成的,网上找到一个可以用,但是由于自己的lua代码有特殊的格式需要识别,只需要稍作修改即可


ctags --langdef=MYLUA --langmap=MYLUA:.lua --regex-MYLUA="/^.*\s*function\s*(\w+):(\w+).*$/\2/f/" --regex-MYLUA="/^\s*(\w+)\s*=\s*[0-9]+.*$/\1/e/" --regex-MYLUA="/^.*\s*function\s*(\w+)\.(\w+).*$/\2/f/" --regex-MYLUA="/^.*\s*function\s*(\w+)\s*\(.*$/\1/f/" --regex-MYLUA="/^\s*(\w+)\s*=\s*\{.*$/\1/e/" --regex-MYLUA="/^\s*module\s+\"(\w+)\".*$/\1/m,module/" --regex-MYLUA="/^\s*module\s+\"[a-zA-Z0-9._]+\.(\w+)\".*$/\1/m,module/" --languages=MYLUA --excmd=number -R .


比如我的lua中定义变量是这样的:
def.method("string").funcname1 = function(name)
只需要添加--regex-MYLUA="/^.*\s*def\.method\([^)]*\)\.(\w+)\s*=\s*function\([^)]*\).*$/\1/f/"

即可,其格式是"/匹配模式/\index/类型/"




vim编辑lua代码配置