29 releases (9 breaking)
0.10.0 | Oct 22, 2021 |
---|---|
0.9.2 | Feb 17, 2021 |
0.8.2 | Feb 5, 2021 |
#131 in Text editors
80 downloads per month
340KB
4.5K
SLoC
A command line text editor with notepad like key bindings.
Features
- Notepad like keybindings.
- Multi-line indentation.
- Auto-indented new lines.
- Line numbers.
- Syntax highlighting.
- Copy, Paste.
- Undo, Redo.
- Find, Replace.
Usage (Key Bindings)
Key | Function |
---|---|
↑ , ↓ , ← , → | Move cursor |
Ctrl + ← , → | Move by word |
Page Up , Page Down | Move by page (scrolling) |
Home | Move to line start |
End | Move to line end |
Shift + ↑ , ↓ , ← , → | Select |
Ctrl + Shift + ← , → | Select by word |
Shift + Page Up , Page down | Select by page |
Shift + Home | Select upto line start |
Shift + End | Select upto line end |
Ctrl + A | Select all |
Backspace | Delete backward |
Delete | Delete forward |
Ctrl / Alt + Backspace | Delete backward by word |
Ctrl / Alt + Delete | Delete forward by word |
Shift + Delete | Delete current line |
Ctrl / Alt + ↑ | Move current line up |
Ctrl / Alt + ↓ | Move current line down |
Ctrl / Alt + Shift + ↑ | Duplicate current line upward |
Ctrl / Alt + Shift + ↓ , Ctrl + D | Duplicate current line downward |
Alt + ] / → , Tab | Increase indentation |
Alt + [ / ← , Shift + Tab | Decrease indentation |
Enter | Enter auto-indented new line |
Ctrl / Shift + Enter | Enter non-indented new line |
Ctrl + F | Find, Replace |
Ctrl + X | Cut |
Ctrl + C | Copy |
Ctrl + V | Paste |
Ctrl + Z | Undo |
Ctrl + Y | Redo |
Ctrl + S | Save |
Alt + S | Save as |
Ctrl + Q , Ctrl + W | Close |
Some key-bindings might not work on different terminals. But the most common ones should work on all.
Install
You will need to have Rust (2018 or higher) installed on your system before proceeding.
Install it from https://www.rust-lang.org/tools/install
1. Install with Cargo
cargo install lino
2. Run
lino <optional-filename>
3. Move binary to /usr/bin/
on Linux (Optional)
sudo mv `which lino` /usr/bin/
Tested on
Windows 10
andWSL (Ubuntu 18.04)
Build
You will need to have Rust (2018 or higher) installed on your system before proceeding.
Install it from https://www.rust-lang.org/tools/install
1. Clone this repo
git clone https://github.com/ahmednooor/lino.git
2. Go into the cloned repo directory
cd ./lino/
3. Build & run with Cargo
cargo run <optional-filename>
On Linux (Debian based)
, if you head into problems, try installing the following libraries and re-run with cargo.
sudo apt install xorg-dev libxcb-present-dev libxcb-composite0-dev libxcb-shape0-dev libxcb-xfixes0-dev
If you get an error about something like couldn't link with cc
, try installing the following.
sudo apt install gcc gcc-multilib binutils
NOTE: If you are unsure about above mentioned Linux libraries, do it on a dev system or a vm instead of your daily driver.
Rust Dependencies
- crossterm (to interact with the terminal)
- ctrlc (to prevent close on Ctrl+c)
- copypasta (for clipboard access)
- syntect (for syntax highlighting)
- unicode-width (for multi-width unicode character rendering)
A big Thanks to the authors/maintainers/contributors of these libraries.
Motivation
Imagine you're a mortal who is accustomed to VS Code or some other GUI Text Editor/IDE, and suddenly you have to login to some SSH or fire up a Linux Server Distro with no GUI. You find yourself treading in the territory of immortals where beasts like Vim, Emacs and others reside. You find a friend called Nano, but it doesn't speak your tongue (i.e. key bindings), so you waste your time trying to learn a new way to communicate instead of getting the job done and get the hell out of there. This editor can be your friend that speaks the same-ish tongue and you can take it there with you. It isn't the only one though, there is another one (a better one) called Micro.
Dependencies
~9–18MB
~226K SLoC