標籤:lua vim
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代碼配置