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无关,未能解决。