411 REFERENCE · Wikibooks
Learning the vi Editor/BusyBox vi
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
__TOC__
Overview
BusyBox
BusyBox is a very popular program on many embedded Linux systems. In fact, someone working on an embedded Linux system is very likely to encounter BusyBox. BusyBox combines tiny versions of many common UNIX utilities into a single relatively small executable. One of the included utilities is a vi clone.
The BusyBox vi clone is limited. Among the limits are:
It does not support all common vi commands.
It supports the '!' command to execute a child process, but does not capture process output
It also lacks the normal vi crash recovery feature.
It always assumes a vt102 type terminal (emulator)
Only very few settings are configurable via :set
.exrc configuration and configuration via environment variables are not supported
Line marks are not correctly adjusted if lines are inserted or deleted before the mark.
Only whole-line undo (uppercase 'U'), no last-change undo (lowercase 'u') is supported.
Searches ignore case by default, but can be case sensitive using :set noignorecase
Command-counts need to prefix a command
command counts for a, c, i, r, y and several other commands are not supported.
A limited set of ex commands are supported.
In short, a lot of information in this vi tutorial is not applicable to BusyBox vi.
However, BusyBox vi also has some differences (considered by some to be enhancements) over classic vi:
Cursor navigation in insert and command mode
<INSERT> key changes to insert mode
No wrapping of long lines. Long lines are displayed via side-scrolling.
Weblinks
BusyBox home page
BusyBox vi source code