On GitHub, stevearc/vim-arduino has picked up 373 stars, Developer Tools, Vim Script. Vim plugin for compiling and uploading arduino sketches
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Vim plugin for compiling, uploading, and debugging arduino sketches. It uses
arduino-cli when available
(recommended), and falls back to using the Arduino IDE's commandline
interface
(new in 1.5.x).
Installation
vim-arduino works with all the usual plugin managers
Packer (Neovim only)
require('packer').startup(function()
use {'stevearc/vim-arduino'}
end)
Linux and Mac are tested and functioning. I have not tested on Windows, but have
heard that it works via WSL. See this
issue for discussion.
It is recommended to use arduino-cli, installation instructions here: https://arduino.github.io/arduino-cli/latest/installation/
However it is also possible to use the arduino IDE directly. Download Arduino
IDE (version 1.5 or newer). Linux
users make sure the arduino command is in your PATH.
Commands
Command
arg
description
ArduinoAttach
[port]
Automatically attach to your board (see arduino-cli board attach -h)
ArduinoChooseBoard
[board]
Select the type of board. With no arg, will present a choice dialog.
ArduinoChooseProgrammer
[programmer]
Select the programmer. With no arg, will present a choice dialog.
ArduinoChoosePort
[port]
Select the serial port. With no arg, will present a choice dialog.
ArduinoVerify
Build the sketch.
ArduinoUpload
Build and upload the sketch.
ArduinoSerial
Connect to the board for debugging over a serial port.
ArduinoUploadAndSerial
Build, upload, and connect for debugging.
ArduinoInfo
Display internal information. Useful for debugging issues with vim-arduino.
To make easy use of these, you may want to bind them to a key combination. You
can put them in ftplugin/arduino.vim:
By default you should not need to set any options for vim-arduino to work
(especially if you're using arduino-cli, which tends to behave better). If
you want to see what's available for customization, there is detailed
information in the vim docs.
Integrations
Dialog / picker plugins
The built-in mechanism for choosing items (e.g. :ArduinoChooseBoard) uses
inputlist() and is not very pretty or ergonomic. If you would like to improve
the UI, there are two approaches:
Neovim: override vim.ui.select (e.g. by using a plugin like dressing.nvim)
Vim8: install ctrlp or fzf. They will automatically be detected and used
Tmux / screen
If you want to run the arduino commands in a separate tmux or screen pane, use
vim-slime. By setting let g:arduino_use_slime = 1 vim-arduino will send the commands via slime#send() instead of running them inside a vim terminal.
Status Line
You may want to display the arduino state in your status line. There are four
pieces of data you may find interesting:
g:arduino_board - the currently selected board
g:arduino_programmer - the currently selected programmer
g:arduino_serial_baud - the baud rate that will be used for Serial commands
arduino#GetPort() - returns the port that will be used for communication
An example with vanilla vim or nvim, added to ftplugin/arduino.vim:
" my_file.ino [arduino:avr:uno] [arduino:usbtinyisp] (/dev/ttyACM0:9600)
function! ArduinoStatusLine()
let port = arduino#GetPort()
let line = '[' . g:arduino_board . '] [' . g:arduino_programmer . ']'
if !empty(port)
let line = line . ' (' . port . ':' . g:arduino_serial_baud . ')'
endif
return line
endfunction
augroup ArduinoStatusLine
autocmd! * <buffer>
autocmd BufWinEnter <buffer> setlocal stl=%f\ %h%w%m%r\ %{ArduinoStatusLine()}\ %=\ %(%l,%c%V\ %=\ %P%)
augroup END
To do the same thing with vim-airline:
autocmd BufNewFile,BufRead *.ino let g:airline_section_x='%{MyStatusLine()}'
For lualine (Neovim only) I use
the following function:
local function arduino_status()
if vim.bo.filetype ~= "arduino" then
return ""
end
local port = vim.fn["arduino#GetPort"]()
local line = string.format("[%s]", vim.g.arduino_board)
if vim.g.arduino_programmer ~= "" then
line = line .. string.format(" [%s]", vim.g.arduino_programmer)
end
if port ~= 0 then
line = line .. string.format(" (%s:%s)", port, vim.g.arduino_serial_baud)
end
return line
end
License
Everything is under the MIT
License except for
the wonderful syntax file, which was created by Johannes Hoff and copied from
vim.org and is under the
Vim License.
No homepage URL was recorded for stevearc/vim-arduino in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How active is development on stevearc/vim-arduino?
The most recent commit recorded on stevearc/vim-arduino was 2.5 years ago, based on the GitHub push timestamp. The repository has 23 forks — one of the better signals of community interest.
How many stars does stevearc/vim-arduino have?
stevearc/vim-arduino has 373 GitHub stars — refresh the page for the live number, or check github.com/stevearc/vim-arduino. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is stevearc/vim-arduino open source?
Yes — stevearc/vim-arduino ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/stevearc/vim-arduino.
What else is in the Developer Tools space?
stevearc/vim-arduino is tracked by TopGit under the Developer Tools category, alongside 5 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What topics is stevearc/vim-arduino associated with?
GitHub's repository topics for stevearc/vim-arduino: "arduino-ide", "vim", "vim-arduino", "vim-plugin", "vim-plugins". TopGit's editorial category is Developer Tools.
Where do I read more about stevearc/vim-arduino?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/stevearc/vim-arduino is the definitive source.
Read full README in the tab above.
Is vim-arduino worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of vim-arduino.