用VIM结合Keil(MDK)写STM32、C51等程序
话说这段时间经常用Keil写些东西,写C51的时候倒还好,写STM32的程序的时候,由于我是用的STM32的官方固件库,里面的各种标识符相当长- -看起来可读性是挺不错的,
不过一个字母一个字母敲还是挺蛋疼的,于是准备用外部编辑器。好在Keil可以很方便的调用外部编辑器,
具体方法是在Tool→Customize Tools Menu下面添加一个选项,名字随
便输,最好加个(&X)在最后面(X可以使随便一个字母),Command里面输入想要使用的编辑器的完整路径,Argument输入#E,Initial Folder空着,这样子在Keil里面按Alt,然后
T,X就直接用设定的编辑器打开当前文件了,很方便。
调用是没问题了,不过用什么编辑器好呢?我在网上翻了一下,有不少人用Source Insight之类的编辑器,确实也挺好用的,不过这种编辑器还要创建工程,比较麻烦- -|加
上最近折腾vps搞的vim挺熟练的,干脆就用vim吧- -不过肯定是要经过一番配置的- -|
先去下载最新版的gvim,安装的时候我选择直接安装在d:\vim\而没有装在C的program Files下面,一方面是重装系统之后懒得配置,另外一方面是路径里面包含
空格的话会有点小问题,所以干脆放D盘根目录了。
vim这玩意儿上手有点麻烦,第一次用的话到vim目录下面的vimtutor.bat,有个几十分钟的教程,之后应该会有点感觉了。
vim的配置文件是vim目录下的_vimrc,很多东西都要在这里修改。为了照顾windows用户的习惯,vim现在有一些windows风格的快捷键,不过我感觉由于跟之前的一些快捷键会
冲突,反而不方便,所以注释掉_vimrc一下两行,注释的方法是在行首加一个”,如果不习惯vim的操作方法也可以保留
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
现在的vim在插入模式下按Ctrl+P能够根据上下文进行一个简单的代码提示,不过显然还不是很好用,下面加插件
先装OmniCppComplete,下载地址:/scripts/script.php?script_id=1520
安装方法很简单,直接把解压出来的东西全部塞到d:\vim\vimfiles就可以了
然后在_vimrc里面加上 filetype plugin on
去ctags.sourceforge/下一个ctags,放到c:\windows\下面(其实只要是%PATH%里面的目录就可以),在命令提示符中到stm32的标准库文件,我是把整个库文件包
括例子都放在C:\Keil\ARM\STM32F10x_StdPeriph_Lib_V3.5.0下面了
运行如下命令生成tags文件
R:\>ctags -R –c++-kinds=+p –fields=+iaS –extra=+q c:\Keil\ARM\STM32F10x_StdPeriph_Lib_V3.5.0,我的当前目录是R:,所以生成的tags文件在R盘下面
在d:\vim\vimfiles下面建一个 tags目录,把生成的tags复制过来,顺便改个名字,我改成stm32f10x_tags,
然后在_vimrc加一条set tags+=d:\Vim\vimfiles\tags
\stm32f10x_tags
vim编辑器下载与安装如果需要,也可以用同样的办法扫描其他库,然后分别加进去
重新打开以下vim,再试一下Ctrl+P,可以发现现在稍微智能些了,能够根据C的语法提供提示,而且在”.”,”->”后面还会自动蹦出成员函数。
不过老师按Ctrl+P挺麻烦的,当然万能的VIM肯定有相应的插件,我选中SuperTab,这个能够用tabs来代替Ctrl+P,比较方便,下载地
址:/scripts/script.php?script_id=1643
下载下来是个vba文件,用vim打开,输入:so % 就安装好了
现在按tab的时候如果前面不是空格,就会进行自动提示,不过现在的supertab还不是很好用,一方面是tab之后会自动选中一个,如果不是满意的还要删掉,另外就是现在的提示
没有经过OmniCppComplete处理,提示的是所有符合前缀的tag
在_vimrc里面加上
let g:SuperTabDefaultCompletionType = “<c-x><c-o><c-p>”
这样子提示就比较完美了,不过还有点小问题,主要是有时候会重复提示
写代码的时候没有自动括号显然不太方便,有这方面的插件,AutoClose /scripts/script.php?script_id=2009
下载下来放在D:\Vim\vimfiles\plugin就可以了
还有一个Taglist,这个插件也很好用,显示函数、变量列表的/scripts/script.php?script_id=273
另外还有一些缩进啊什么的也可以修改一下
set shiftwidth=4 ” 设定 << 和 >> 命令移动时的宽度为 4
set tabstop=4 ” 设定 tab 长度为 4
再另外还有一些杂七杂八的好用的小插件,自己根据需要添加就好了,vim上面可以慢慢看。
现在用这个vim来写代码应该比较舒服了。
(完)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论