lino

A command line text editor with notepad like key bindings.

screenshot

Crates.io Crates.io Crates.io

Features

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 sh cargo install lino

2. Run sh lino <optional-filename>

3. Move binary to /usr/bin/ on Linux (Optional) sh sudo mv `which lino` /usr/bin/

Tested on Windows 10 and WSL (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 sh git clone https://github.com/ahmednooor/lino.git 2. Go into the cloned repo directory sh cd ./lino/ 3. Build & run with Cargo sh cargo run <optional-filename>

On Linux (Debian based), if you head into problems, try installing the following libraries and re-run with cargo.

sh 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.

sh 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

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.