Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xi-frontend/xi-term
A terminal frontend for Xi
https://github.com/xi-frontend/xi-term
frontend terminal text-editor tui xi
Last synced: about 4 hours ago
JSON representation
A terminal frontend for Xi
- Host: GitHub
- URL: https://github.com/xi-frontend/xi-term
- Owner: xi-frontend
- License: mit
- Created: 2016-09-03T18:15:27.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-11-12T08:23:59.000Z (almost 4 years ago)
- Last Synced: 2024-08-03T01:39:16.102Z (3 months ago)
- Topics: frontend, terminal, text-editor, tui, xi
- Language: Rust
- Homepage:
- Size: 901 KB
- Stars: 487
- Watchers: 17
- Forks: 37
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# xi-term
[![Build Status](https://travis-ci.org/xi-frontend/xi-term.svg?branch=master)](https://travis-ci.org/xi-frontend/xi-term)
Formerly `xi-tui`, `xi-term` is a terminal frontend for [xi](https://github.com/xi-editor/xi-editor/).
It is experimental and under development, so don't expect anything magical (yet!).
## Installation
The frontend assumes that you have installed the
[core editor](https://github.com/xi-editor/xi-editor)
and is available in your PATH. The following should suffice:```bash
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` 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 `.
Two files will be written:- ``: all the `xi-term` logs
- `.rpc`: the RPC messages exchanged between the core and the frontend## Screenshots
![a python file](.github/python.png)
![the README file](.github/README.png)
## Shortcuts
For now, there are only two shortcuts:
- `^w` saves the current view
- `^c` exits## Commands
`xi-term` supports a vim-like command prompt for executing commands, accessed
via Alt-X.Currently supported commands:
| Short form | Long form | Description |
| ---------- | --------- | ----------- |
| q | quit | Quits xi-term |
| s | save | Saves the current file |
| o `filename` | open `filename` | Open `filename` for editing |
| b | backspace | Delete the previous character and move the cursor one position back |
| d | delete | Delete the character under the cursor |
| bn | next-buffer | Switch to the next buffer |
| bp | prev-buffer | Switch to the previous buffer |
| pd | page-down | Advance the current view by one page |
| pu | page-up | Move the current view back by one page |
| ml | move-left | Move the cursor one position left |
| mr | move-right | Move the cursor one position right |
| mu | move-up | Move the cursor one line up |
| md | move-down | Move the cursor one line down |
| t `theme` | theme `theme-name` | Set the theme to `theme`|
| ln | line-numbers | Toggle displaying line numbers |Future commands:
| Short form | Long form | Description |
| ---------- | --------- | ----------- |
| c | close | Closes the current view |
| ? `string` | search `string` | Search for `string` |
| sl | select-left | Move the cursor one position left and update the current selection accordingly |
| sr | select-right | Move the cursor one position right and update the current selection accordingly |
| su | select-up | Move the cursor one line up and update the current selection accordingly |
| sd | select-down | Move 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:
- you must have true colors enabled. Otherwise, some portions of text won't be displayed
- the default theme is for dark backgrounds