xei-editor 0.2.9

xei (晴) — a modern terminal text editor in Rust with Vim-modal editing, syntax highlighting, file explorer, built-in terminal, and theming
xei-editor-0.2.9 is not a library.

xei 晴

A modern Vim-like terminal editor in Rust.

npm install -g xei-editor       # npm
brew install stremtec/xei/xei   # Homebrew

From source (Cargo):

cargo install --git https://github.com/stremtec/xei

Windows (PowerShell):

iwr https://raw.githubusercontent.com/stremtec/xei/master/install.ps1 | iex

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/stremtec/xei/master/install.sh | bash
xei                  # blank buffer
xei src/main.rs      # open a file
xei --version        # print version

Keybindings

Normal Mode

Key Action
h j k l / ←↓↑→ Move cursor
w b Next / previous word
0 $ Start / end of line
gg G Top / bottom of file
i Enter Insert mode at cursor
a Enter Insert mode after cursor
A Enter Insert mode at end of line
o Open new line below, enter Insert
O Open new line above, enter Insert
x Delete character under cursor
dd Delete current line (yanked)
dw Delete current word (yanked)
p Paste yanked text
u Undo
v Enter Visual mode
V Enter Visual Line mode
/ Search forward
n N Next / previous search match
: Open XLC command panel

Visual Mode

Key Action
h j k l / ←↓↑→ Extend selection
w b Jump by word
0 $ Start / end of line
G Jump to bottom
d Delete selection (yanked)
y Yank (copy) selection
Cmd+C Copy to system clipboard
Esc Return to Normal

Insert Mode

Key Action
Esc Return to Normal
←↓↑→ Move cursor
Tab Insert 4 spaces (or apply completion)
Ctrl+A Trigger autocomplete
Cmd+V Paste from system clipboard

Panels

Key Action
Ctrl+F Toggle file explorer (left)
F12 Toggle built-in terminal (right)
Ctrl+E Toggle XLC command panel (bottom)
Ctrl+Q / Esc Close terminal

Explorer

Key Action
j k / ↓↑ Navigate entries
Enter / l Open file or enter directory
h Go to parent directory
Esc Return to Normal

Mouse

Action Behavior
Click Move cursor
Drag Select text (enters Visual)
Scroll Navigate document
Drag panel border Resize explorer / terminal / XLC

XLC Commands (:)

Command Action
:w :save Save file
:w <path> Save as new path
:e <file> :open <file> Open file
:q :quit Quit (warns if unsaved)
:q! :quit! Force quit
:wq :x Save and quit
:mv <dest> :move <dest> Move / rename current file
:rename <name> Rename in same directory
:rm Delete current file
:pwd Show working directory
:ls List files
/pattern :find <pat> Search in buffer
:theme List themes
:theme <name> Switch theme
:help :h :? Show all commands

Scroll XLC output: Ctrl+U / Ctrl+D / PgUp / PgDn

Themes

ocean (default) · monokai · nord · solarized · gruvbox · everforest · sakura · newspaper · mono · mono_dark

:theme sakura    # switch immediately, persists to ~/.xei.toml

Configuration

~/.xei.toml (auto-saved on theme change):

theme = "gruvbox"

License

MIT