为Vim配置Keil uVision开发环境

本文介绍了如何在Vim中配置Keil uVision的常用命令,如<leader>kb用于Build,<leader>kr用于Rebuild,<leader>kd用于下载程序到主板。然而,尝试从Vim调用命令行编译时遇到错误,未能完全模拟Keil uVision的After Build功能。

1 废话

这个标题让这次鼓捣看起来很宏大,其实不然。只是配置了几句常用命令,未能在Vim完全实现Keil uVision的操作。


2 配置

用到的命令行,官网页面都有列出来的,感觉功能不是很强大。笔者的vimrc配置如下:

function MakeKeilTarget(options)
    let l:target = ''

    if !empty(glob('*.uvprojx'))
        let l:target =  glob('*.uvprojx')
    elseif !empty(glob('../../*.uvprojx'))
        let l:target =  glob('../../*.uvprojx')
    endif

    if !empty(l:target)
        execute ':silent !uv4 '.a:options.l:target.' -o "\%TEMP\%/log.txt"'
    else
        echo 'Target not found!'
    endif
endfunction
nnoremap <leader>kb :call MakeKeilTarget('-b')<CR>
nnoremap <leader>kr :call MakeKeilTarget('-b -z ')<CR>
nnoremap <leader>kr :call MakeKeilTarget('-cr ')<CR>
nnoremap <leader>kd :call MakeKeilTarget('-f ')<CR>

比较粗劣,先将就着用。

1. <leader>kb:就是Build。

2. <leader>kr:Rebuild,-c是清除所有target,只用-r也行。

3. <leader>kd:把程序下载到主板。


3 未能实现

笔者的Keil uVision里是有设置After Build的,除了(似乎是)默认的fromelf.exe ...,还自定义了另一个,但是从Vim调用命令行编译的时候,会出错,而且似乎与Vim当前的buffer的pwd无关,未能解决。

【使用说明】在主目录直接解包就行 【功能详情】--------快捷键 //----------------------------------------------------------------- 【#】显示函数列表 : TlistToggle //显示函数列表 按将会在VIM的左边打开一个Taglist窗口,这个窗口里面包含了C文件里面的定义,如struct,typedef,全局变量,函数等。使用'+h将光标移动到左边的窗口,上下选择tag按回车定位到tag的定义处。 【#】当前目录列表,方便打开文件 : NERDTreeToggle //当前目录列表,方便打开文件 按会在VIM的右边打开一个文件浏览器窗口。再按一下会关闭这个窗口。 【#】最近文件列表 : MRU //最近文件列表 按会打开一个MRU窗口,这个窗口里面记录了最近打开的文档,上下选择文件回车打开。如果没有你想打开的文件可以按"q"关闭窗口。 : LookupFile 在VIM的上面打开文件查找窗口, : vimgrep 假设你想查找某个字符串在项目中出现的位置,你可以把光标放在这个字符串上, 按就会在VIM的最下面显示你想查找的字符串,此时你可以修改这个字符串,回车到下一步,此时会提示你要查找的文件范围, 【#】编译 : gcc 直接按可以对打开的文件直接编译 【#】gdb调试 : gdb 直接按可以直接进入gdb调试状态 : Generate tags 在代码间跳来跳去。先按生成tag数据库。将会在项目的当前目录下生成tags文件。此时将光标放在某个函数调用上,按+]就会跳到函数的定义处,按+o就会跳回来。 : HLUDSync 按可以生成cscope的数据库文件cscope.out,再使用",sa"(:cs add cscope.out)添加数据库文件。当下次启动VIM的时候就会自动加载当前目录下的cscope数据库文件。在.vimrc里面定义了使用cscope的快捷键,比如将光标放在某个函数上使用命令",sc"就可以查看这个函数被哪些函数调用过, 【#】全屏显示 :genfiletags.sh 是让终端全屏显示 add cscope.out 在查找文件之前要生成文件数据库, 按将会在项目的当前目录下生成tags.filename文件,所以最好是在项目的根目录下按。再按就可以使用通配符查找文件了。 【功能详情】--------命令行功能 【#】添加函数注释等 :Dox 添加函数注释 【#】头文件和c文件切换 :AV 垂直分屏显示头文件或者c文件 【其他功能】------- 1.输入main后按table键,自动生成main函数 2.输入单词自动补全//注,本文档之前输入的单词自动补全 3.双引号、单引号、大括号自动补全,小括号不能自动补全【如果有人发现是什么原因,可以留言哈】 【注】祝大家更高效的玩转vim
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值