Home

Awesome

Vixi

A "Vim like" frontend for xi-editor.

Warning

This toy project is not more maintained. It was under heavy development at the time so a lot of stuff can be broken and will not be fixed.

Installation

Make sure you have rustc version > 1.40 and cargo installed.

git clone https://github.com/Peltoche/vixi.git && cd vixi
cargo install --path .

The "Vim like" approach

The idea behind Vixi is to use the powerful keybinding of Vim without keeping all the complexities and inconsistencies. In other words, keeping the 20% of Vim used by 80% of users.

Configuration

All the keybinding presented below can be overriden via the keyboard.toml configuration file. You can find an example of keyboard.toml config which will override all the default values with the exact same values.

Those configuration files should live inside a vixi folder placed into the OS specific config directory.

OSVixi configuration folder
Linux/home/alice/.config/vixi
MacOS/Users/Alice/Library/Preferences/vixi

How to use it

Modes

Vixi behavior is split in "modes" (like Vim). Those are:

At any time you can return to the Normal mode by pressing the Esc key. You can note that the Action mode doesn't exists on Vim. This somewhat corresponds to the Vim mapLeader key.

Normal mode

The Normal mode is the default one. It is mainly used to move the cursor around and switch into the other modes.

KeyDescription
←↑→↓Move the cursor
hjklMove the cursor
wMove the cursor to the next word
WMove the cursor to the previous word
<PgUp>Move the cursor one page above
<PgDn>Move the cursor one page below
vSwitch to Visual Mode
iSwitch to Insert Mode
<Space>Switch to Action Mode
oInsert line below and switch to Insert Mode
OInsert line above and switch to Insert Mode
pPaste the previously cut content
xDelete text forward
XDelete text backwards
qQuit
>Indent
<Outdent

Insert mode

The Insert mode is used to insert some content.

KeyDescription
←↑→↓Move the cursor
<PgUp>Move the cursor one page above
<PgDn>Move the cursor one page below
<Esc>Switch to the normal mode
<Backspace>Remove a character backward
<Del>Remove a character forward

Visual mode

The Visual mode is used to select some text and manipulate it.

KeyDescription
←↑→↓Move the cursor
hjklMove the cursor
wMove the cursor to the next word
WMove the cursor to the previous word
<Esc>Switch to Normal Mode
qSwitch to Normal Mode
<Space>Switch to Action Mode
yYank the selection
dDelete the selection
pDelete the selection and past the previous deletion

Action mode

The Action mode is used to make some generic action like saving or exiting.

KeyDescription
qQuit
wWrite into the file