mikewootc 发表于 2015-1-18 17:29:12

Ubuntu下使用vim开发arduino

本帖最后由 mikewootc 于 2015-1-18 19:33 编辑

Ubuntu下使用vim开发arduino

1 背景

由于是vim的重度使用者, 在试了一下linux下的arduino IDE后, 实在觉得不适应. 所以在网上找了一下配合vim的使用方法, 貌似还不只一种. 本文参考的是该页面:

Using Vim for Arduino development, 文中提到了两种方法, 他描述的旧的方法, 但是据说旧的方法已经不维护了, 所以我按照那篇文中的新方法来做的. 新方法是用的ino这个工具. 项目路径在: https://github.com/tclem/vim-arduino

本文写作的时候, 该方法才只是0.1.0版本, 不过是可以用的. 其实它就是在vim封装了几个ino命令.

本文基于: arduino UNO开发板, 据说如果是其他的型号, 需要自己来配配置文件, UNO可以直接用(确实可以).
2 安装vim-arduino
2.1 安装依赖软件

sudo apt-get install pathogen
sudo apt-get install python-pip
sudo pip install ino

2.2 安装vim-arduino

在这里下载: https://github.com/tclem/vim-arduino

然后将其中的plugin拷贝到vim的插件目录, 一般是~/.vim

注意: 本文写作的时候, 该工具只绑定了几个快捷键, 并没有内置语法高亮, 所以还需要另外再找语法高亮文件(有点坑的说). 本文后面会提供一种高亮下载.
3 使用vim-arduino
3.1 创建arduino(ino)工程

创建空文件夹(如果不是空文件夹, ino不让创建工程):

mkdir blink
cd blink

创建工程:

ino init -t blink

-t 创建一个控制arduino UNO板子上LED灯闪烁的程序. 如果不加参数, 则创建一个空工程.

如果不创建ino工程, ino是不给编译的, 说没有ino工程. 个人试了一下, 所谓的创建工程, 貌似就是得有个src目录, 里面放着个.ino的文件. 作者试了一下, 自己创建个src, 然后把ino文件放进去, 也可以用.
3.2 vim快捷键

`<Leader>ac` - Compile the current sketch. 编译
`<Leader>ad` - Compile and deploy the current sketch. 编译并烧写到arduino
`<Leader>as` - Open a serial port in `screen`. 开启串口

<Leader>as 这条快捷键映射, 貌似是在mac上用的, 我这里linux用不了, 后来发现直接安装screen命令, 然后执行

screen /dev/ttyACM0

就可以了, 其中/dev/ttyACM0是我的arduino UNO的那个设备.
4 语法高亮
4.1 下载高亮文件

http://www.vim.org/scripts/script.php?script_id=2654
4.2 使用高亮

将下载下载的arduino.vim放到高亮目录下. 一般是~/.vim/syntax

编辑 ~/.vim/filetype.vim, 添加如下两行, 使vim能识别.ino和.pde文件:

au BufRead,BufNewFile *.pde set filetype=arduino
au BufRead,BufNewFile *.ino set filetype=arduino

然后就可以看到高亮了.
5 tagbar配置

tagbar是一个taglist的替代品, 比taglist更适合c++使用, 函数能够按类区分, 支持按类折叠显示等, 显示结果清晰简洁, 强烈推荐, 下载地址如下:

http://www.vim.org/scripts/script.php?script_id=3465

更多信息请自行百度google, 再次只贴出我对于arduino的配置. 这个配置是我自己捣鼓出来的, 如果您发现有bug或者更好的配置, 欢迎邮件到页面最下方的邮箱告知.

let g:tagbar_autoclose = 0
let g:tagbar_autofocus = 1
let g:tagbar_sort = 0
let g:tagbar_compact = 1
let g:tagbar_foldlevel = 1
let g:tagbar_type_arduino = {
    \ 'ctagstype' : 'c++',
    \ 'kinds'   : [
      \ 'd:macros:1:0',
      \ 'p:prototypes:1:0',
      \ 'g:enums',
      \ 'e:enumerators:0:0',
      \ 't:typedefs:0:0',
      \ 'n:namespaces',
      \ 'c:classes',
      \ 's:structs',
      \ 'u:unions',
      \ 'f:functions',
      \ 'm:members:0:0',
      \ 'v:variables:0:0'
    \ ],
    \ 'sro'      : '::',
\ }

6 参考文献

http://www.mikewootc.com/wiki/tool/sw_develop/ubuntu_vim_arduino.html

Paderboy 发表于 2015-1-18 17:51:14

哥们你地址没打全了 http://www.mikewootc.com/wiki/tool/sw_develop/ubuntu_vim_arduino.html

mikewootc 发表于 2015-1-18 19:32:38

Paderboy 发表于 2015-1-18 17:51 static/image/common/back.gif
哥们你地址没打全了 http://www.mikewootc.com/wiki/tool/sw_develop/ubuntu_vim_arduino.html

多谢楼上提醒提醒.
页: [1]
查看完整版本: Ubuntu下使用vim开发arduino