Windows下用gVim搭建AS3开发环境
Windows环境下做AS3游戏开发,但Flash Builder用不习惯,所以用vim搭建了一个AS开发环境
先看下完全形态……配色方案是desertEx。
1. 实现语法高亮
1.1 下载 actionscript.vim,然后将它们放到vimfiles的syntax文件夹下去
1.2 在ftdetect文件夹下的filetype.vim(没有可新建)中,加入以下代码:
autocmd BufRead *.as set filetype=actionscript autocmd BufRead *.mxml set filetype=mxml
再打开as文件应该就有语法着色了。
2. 系统语法补全
网上有人整理好了AS3的字典文件as3_dict.txt, 这样只要将这个字典文件放到某个地方然后在vimrc中设置一下就可以了。
比如我放在了vimfiles中的dict文件夹下面
然后在vimrc中这样写:
au FileType actionscript call AddAS3Dict()
function AddAS3Dict()
set dictionary-=$VIM/vimfiles/dict/as3_dict.txt dictionary+=$VIM/vimfiles/dict/as3_dict.txt
set complete-=k complete+=k
endfunction
这样在vim的插入模式下按下 Ctrl+X 然后 Ctrl+K 就可以调出AS3关键字了
3. 代码智能补全 + 对象列表
VIM有个C/C++智能补全插件ctags,它同样可以支持AS
3.1 将ctags文件解压,放到任意目录下,然后在windows的环境变量中指定ctags.exe的所在路径
3.2 继续改vimrc,设置快捷键用于生成ctags文件,这里我用的是F12
map <F12> :call Do_CsTag()<CR>
function Do_CsTag()
let dir = getcwd()
if filereadable("tags")
let tagsdeleted=delete(dir."\\"."tags")
if(tagsdeleted!=0)
echohl WarningMsg | echo "Fail to do tags! I cannot delete the tags" | echohl None
return
endif
endif
if(executable('ctags'))
"silent! execute "!ctags -R --c-types=+p --fields=+S *"
silent! execute "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
endif
endfunction
当然如果不想修改环境变量的话,只要将代码中的红色部分替换成你的ctags.exe所在路径就可以了。
3.3 让ctags支持AS3
新建ctags.cnf文件,内容如下,然后放到Windows的用户文件夹下面:
--langdef=actionscript
--langmap=actionscript:.as
--regex-actionscript=/^[ \t]*[(private| public|static) ( \t)]*function[ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1/f, function, functions/
--regex-actionscript=/^[ \t]*[(public) ( \t)]*function[ \t]+(set|get) [ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1 \2/p,property, properties/
--regex-actionscript=/^[ \t]*[(private| public|static) ( \t)]*var[ \t]+([A-Za-z0-9_]+)[ \t]*/\1/v,variable, variables/
--regex-actionscript=/.*\.prototype \.([A-Za-z0-9 ]+)=([ \t]?)function( [ \t]?)*\(/\1/ f,function, functions/
--regex-actionscript=/^[ \t]*class[ \t]+([A-Za-z0-9_]+)[ \t]*/\1/c,class, classes/
3.4 下载taglist插件,将里面的文件解压到vimfiles文件夹中去
在vimrc文件中添加如下代码,让taglist插件支持as文件:
let tlist_actionscript_settings = 'actionscript;c:class;f:method;p:property;v:variable'
3.5 再设置一下taglist插件
"TlistUpdate可以更新tags
"按下F3就可以呼出了
map <F2> :silent! Tlist<CR>
"因为我们放在环境变量里,所以可以直接执行
let Tlist_Ctags_Cmd='ctags'
"让窗口显示在右边,0的话就是显示在左边
let Tlist_Use_Right_Window=0
"让taglist可以同时展示多个文件的函数列表,如果想只有1个,设置为1
let Tlist_Show_One_File=0
"非当前文件,函数列表折叠隐藏
let Tlist_File_Fold_Auto_Close=1
"当taglist是最后一个分割窗口时,自动退出vim
let Tlist_Exit_OnlyWindow=1
"是否一直处理tags.1:处理;0:不处理
let Tlist_Process_File_Always=0
let Tlist_Inc_Winwidth=0
这样当写完文件后,按F12生成tags,这样要调用类里面的变量或者方法的时候在插入模式下Ctrl+X,Ctrl+]就可以了补全代码了
在任意模式下按下F2,就可以显示对象列表了。
cscope比ctags更为强大,但没有用AS3试过,有兴趣的可以试试看。
4. 文件列表
使用插件:Nerdtree
4.1 将NerdTree插件下载解压到vimfiles文件夹
4.2 在vimrc中写下如下代码:
"打开或关闭文件列表
nnoremap <F3> :NERDTreeToggle<Enter>
"文件列表的位置
let NERDTreeWinPos='right'
5. 多文档编辑
其实就是增强型的tab
使用插件:MiniBufExplorer
5.1 将minibufexpl.vim下载下俩放到vimfiles的plugin文件夹中
5.2 配置vimrc
"允许光标在任意位置时用CTRL-TAB遍历buffer
let g:miniBufExplMapCTabSwitchBufs=1
单个文件的时候不会显示buffer,当使用<C-X><C-]>或在文件列表中打开文件等跳转操作时便会显示标签
<Ctrl-Tab>可以切换标签,<Ctrl+Shift+Tab>逆向切换,当然鼠标在标签上双击跳转也是支持的。
6. 代码段补全
使用插件:snipMate
6.1 下载插件解压到vimfiles文件夹中
6.2 下载actionscript.snippets,放到snippets文件夹中
如果想补全for代码段,只要在as文件中写for,然后按下<Tab>键,就可以实现了,其他同理。如果觉得下载来的不给力,修改actionscript.snippets也很方便。
如果觉得snipMate不能满足你的要求,可以用更加强大的xptemplate,不过snippets写起来比较复杂……
7. 代码注释
使用插件:NERD_commenter
7.1 下载插件解压到vimfiles文件夹中
普通模式下按",cc"进行注释,",cu"取消注释,",ca"切换注释方式,",cs"用更“性感”的方式来注释……
9. 全局搜索
----------------------------------------
使用插件:grep
在Linux下可以直接使用Grep,然而windows下使用需要windows版的grep和findutils两个工具
如果你的机器上装有Cygwin环境,并且将Cygwin加入了环境变量中去的话,则直接安装这两个包即可。
配置vimrc
"路径
let Grep_Path='D:\vimtools\grep-2.5.4-bin\bin\grep.exe'
let Fgrep_Path='D:\vimtools\grep-2.5.4-bin\bin\fgrep.exe'
let Egrep_Path='D:\vimtools\grep-2.5.4-bin\bin\egrep.exe'
let Grep_Find_Path='D:\vimtools\grep-2.5.4-bin\bin\find.exe'
let Grep_Xargs_Path='D:\vimtools\grep-2.5.4-bin\bin\xargs.exe'
"快捷键
nnoremap <Leader>sp :Grep<CR>
把"D:\vimtools\grep-2.5.4-bin\bin\"改成自己的实际路径就可以了
假如把Leader键设置为了",",当鼠标停在非空白处时,按下",sp"则会搜索鼠标停靠位置的词,若在空白位置则需键入需要搜索的词。然后选择要搜索的文件类型就可以了。注意路径中不能有中文……
这个环境编辑代码是没有问题了,但还不能像C/C++那样调试和运行代码……调试和运行先坑着下次放出。