Home

Awesome

xi-term

Build Status

Formerly xi-tui, xi-term is a terminal frontend for xi.

It is experimental and under development, so don't expect anything magical (yet!).

Installation

The frontend assumes that you have installed the core editor and is available in your PATH. The following should suffice:

git clone https://github.com/xi-editor/xi-editor
cd xi-editor/rust
cargo install --path .

# if you want syntax highlighting, you need to install the syntect plugin:
cd syntect-plugin
make install

# You need to add ~/.cargo/bin to your PATH
# (this is where `cargo install` places binaries).
# In your .bashrc (or equivalent), add `export PATH=$PATH:~/.cargo/bin`

Then you can clone this repository and run the frontend with cargo run --release -- <your_file>. your_file can be an existing file or any dummy name.

Logging

For debugging, it can be useful to have logs. You can specify a location for log files xi-term with -l <logfile>. Two files will be written:

Screenshots

a python file

the README file

Shortcuts

For now, there are only two shortcuts:

Commands

xi-term supports a vim-like command prompt for executing commands, accessed via Alt-X.

Currently supported commands:

Short formLong formDescription
qquitQuits xi-term
ssaveSaves the current file
o filenameopen filenameOpen filename for editing
bbackspaceDelete the previous character and move the cursor one position back
ddeleteDelete the character under the cursor
bnnext-bufferSwitch to the next buffer
bpprev-bufferSwitch to the previous buffer
pdpage-downAdvance the current view by one page
pupage-upMove the current view back by one page
mlmove-leftMove the cursor one position left
mrmove-rightMove the cursor one position right
mumove-upMove the cursor one line up
mdmove-downMove the cursor one line down
t themetheme theme-nameSet the theme to theme
lnline-numbersToggle displaying line numbers

Future commands:

Short formLong formDescription
ccloseCloses the current view
? stringsearch stringSearch for string
slselect-leftMove the cursor one position left and update the current selection accordingly
srselect-rightMove the cursor one position right and update the current selection accordingly
suselect-upMove the cursor one line up and update the current selection accordingly
sdselect-downMove the cursor one line down and update the current selection accordingly

Preferences

Xi-core supports several user-configurable options through a preferences.xiconfig file. The default location for this is $XDG_CONFIG_HOME/xi/preferences.xiconfig, or, if $XDG_CONFIG_HOME is not set, it defaults to $HOME/xi/preferences.xiconfig.

Caveats

Colors

If you have the syntect plugin installed, colors will be enabled by default, with two caveats: