Ox is a fast text editor, written in Rust, that runs in your terminal

Last modified on November 04, 2020


Logo

Ox is a code editor that runs for your terminal.


Build Status
Build Status
License

About The Mission

Ox is a code editor. It turned written in Rust the utilization of ANSI get away sequences. It assists builders with programming by providing a number of instruments to amble up and make programming extra easy and a refreshing alternative to intently bloated and useful resource hungry editors truthful like VS Code and JetBrains. Ox is lightweight so it's miles additionally historic on older computer systems.

Dangle into yarn, that is a private mission and is nowhere come able to interchange your current instruments truthful appropriate but.

It runs inside the terminal and runs on platforms cherish Linux and macOS however would not work on Windows with out lengthen (it with out a doubt works will occupy to you employ WSL) ensuing from an absence of a lawful expose line. There are many textual mumble editors inside the market and everybody amongst them has their flaws and I hope to occupy a textual mumble editor that overcomes a lot of the burdens and problems.

Ox is no longer in step with any assorted editor and has been constructed from the underside up with none corrupt in any respect.

What facets does Ox occupy and why may also truthful restful I exploit it?

Ox targets to be an editor that takes facets from a few of mainly probably the most neatly-appreciated editors inside the market, gaining the superb of all worlds.

Vim http://vim.org: Vim gives a plugin machine for together with facets to it as a result of it is terribly minimal and completely gives related outdated textual mumble improving effectivity by default. It's considerably big and has its have programming language for configuring and writing plugins for it. It has a steep finding out curve ensuing from being a “modal” textual mumble editor, having explicit modes for bettering textual mumble. Ox is extra easy to make the most of than Vim on yarn of it doesn’t occupy modes the maintain the keyboard is repurposed, nonetheless it takes the concept of being a keyboard-totally editor and being able to behave truthful appropriate cherish an IDE after some configuration.

Nano https://www.nano-editor.org/: Nano is an editor that is terribly easy to achieve ensuing from its intuitive key bindings truthful like Ctrl+S to maintain and Ctrl+? for the relieve menu and so forth. Ox took the concept for mainly the principle bindings from this editor, they're easy to defend in thoughts, Ctrl+F for “Net”, Ctrl+Q for “Quit”, that method that Ox doesn’t occupy as steep a finding out curve.

Micro https://micro-editor.github.io/: Micro has a plugin machine that is programmed with a language known as Lua nonetheless I'm in a position to’t seem to go looking out any as a lot as this level plugins for it and it lacks facets truthful like a file tree. It's micro that impressed me so as to add mouse effectivity and varied facets.

Emacs https://www.gnu.org/device/emacs/: Emacs is restful actively historic on the present time ensuing from its freedom to range and alternate the availability code. Ox took the concept for the customization and extensibility of Emacs and made a configuration machine the maintain you presumably can alternate the colours and look of the editor.

Xi https://xi-editor.io/: Xi may perhaps be written in Rust however is purely a backend inside the meantime, I made up my thoughts to make Ox each a frontend and a backend on yarn of Xi has many frontends, however most of them are damaged and it lacks considerably a great deal of facets.

Kiro https://github.com/rhysd/kiro-editor: Kiro is an inconceivable textual mumble editor written in Rust and provides facets truthful like Unicode toughen, a nicer shade methodology and restricted issues cherish resizing and it's miles a actually gripping editor. Ox took the rules for the enhancements from Kiro, nonetheless performed them otherwise. Kiro’s provide code additionally seems to be prefer to be considerably developed in some areas, so I made up my thoughts to withhold Ox as easy as I may also.

Constructed With

Ox is big minimal and targets to make the most of as few dependencies as possible, taking into account rapid assemble time and low threat of breakage.

  • Rust language
  • Termion
  • Unicode-rs
  • Clap
  • Regex
  • Ron
  • Serde
  • Shellexpand

Getting Started

You may perhaps be succesful of at the moment completely invent Ox from provide.
Whereas this will additionally truthful sound formidable to many people, it with out a doubt is no longer that arduous and takes 1 minute worst case disadvantage!

Requirements

Which technique of Ox is written in Rust, you should occupy a modern and dealing model of rustc and cargo.

On Arch Linux, you presumably can flee this expose:

sudo pacman -S rustup
rustup toolchain arrange secure

Whereas you'll no longer be the utilization of Arch, you presumably can with out wretchedness function it up on assorted distros by working the distro-just expose:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
/usr/bin/rustup toolchain arrange secure

You want to occupy curl put in in recount to flee this expose.

Set up

Icons

Ox makes use of NerdFonts to display screen icons. You may perhaps be succesful of arrange nerdfonts from https://nerdfonts.com
Whereas you employ Arch Linux, you presumably can arrange it by placing inside the bundle ttf-nerd-fonts-symbols-mono.
There may perhaps be a doable that you ought so as to add it to your terminal emulator.

Manual

cargo arrange --git https://github.com/curlpipe/ox

Arch Linux

Set up ox-bin or ox-git from the Arch Consumer Repository.

That's all there may perhaps be to it!

Homebrew

Set up ox from Homebrew core faucet.

Usage

Opening recordsdata in Ox

For the time being, you presumably can originate ox by the utilization of the expose

This may perhaps originate up an empty legend.

Whereas you have interaction to originate a file straight from the expose line, you presumably can flee

To originate and edit a file.

You may perhaps moreover additionally originate a file from inside Ox by the utilization of the Ctrl + O Key binding

If at any time, you have interaction to occupy a latest file, you presumably can use Ctrl + N to achieve so.

You may perhaps be succesful of get further expose line options for Ox by typing:

Transferring the cursor spherical

You may perhaps be succesful of use the arrow keys to switch the cursor spherical

You may perhaps moreover additionally use:

  • PageUp - Stride to the tip of the legend
  • PageDown - Stride to the underside of the legend
  • House - Stride to the delivery of the current line
  • Cease - Stride to the tip of the current line

Modifying the file

You may perhaps be succesful of use the keys Backspace and Return / Enter in addition to your full characters for your keyboard to edit recordsdata!

Ox is managed by way of your keyboard shortcuts. Listed beneath are the default shortcuts that you presumably can use:

KeybindingWhat it does
Ctrl + QExits the present tab or the editor if completely one tab originate.
Ctrl + SSaves the originate file to the disk.
Ctrl + WPrompts you for a file set up and saves it to disk as that file set up.
Ctrl + PSaves your full at the moment originate recordsdata to the disk.
Ctrl + NCreates a latest tab with a clear legend.
Ctrl + OPrompts you for a file and opens that file in a latest tab.
Ctrl + FSearches the legend for a search quiz. Permits urgent of and to switch the cursor to the earlier occurance fof the quiz and and to switch to the next occurance of the quiz. Press Return to smash the search on the present cursor function or Esc to smash the search and return to the preliminary function of the cursor. Demonstrate: this lets you make the most of common expressions.
Ctrl + UUndoes your final movement. The adjustments are dedicated to the undo stack each time you press the space bar, occupy / smash a latest line and when there may perhaps be no longer a train after a simple timeframe that can perhaps additionally truthful even be historic to interact elements the maintain you discontinuance for thought or snatch a espresso and so forth...
Ctrl + YRedoes your final movement. The adjustments are dedicated to the undo stack each time you press the space bar, occupy / smash a latest line and when there may perhaps be no longer a train after a simple timeframe that can perhaps additionally truthful even be historic to interact elements the maintain you discontinuance for thought or snatch a espresso and so forth...
Ctrl + RPermits changing of occurances inside the legend. Uses the equal keybindings as the search attribute: and to switch the cursor to the earlier occurance fof the quiz and and to switch to the next occurance of the quiz. You may perhaps moreover additionally press Return, y or Arena to occupy the change movement. To exit change mode if you happen to're carried out, you presumably can press Esc to smash and return abet to your preliminary cursor function. Demonstrate: this lets you make the most of common expressions.
Ctrl + ACarries out a batch change chance. This may also truthful prompt you for a goal to interchange and what you have interaction to occupy to interchange it with and may perhaps perhaps truthful restful then change each occurance inside the legend. Demonstrate: this lets you make the most of common expressions.
Ctrl + DNavigates to the earlier tab.
Ctrl + HNavigates to the next tab.

Configuring Ox

Ox facets a configuration machine that allows modification and personalization of the editor.

By default, Ox will peek a file right here: $XDG_CONFIG_HOME/ox/ox.ron or ~/.config/ox/ox.ron.

Ox's configuration language is RON.

There may perhaps be a default config inside the 'config' folder. You may perhaps be succesful of occupy to both win it and area it inside the default config listing or occupy your have the utilization of the occasion ones as a reference.
Whereas you get no longer occupy a config file, get no longer issue :), Ox will truthful appropriate ignore it will you get no longer occupy one.

Whereas you have interaction to specify the configuration file course, you presumably can attain so the utilization of the '--config' chance (or '-c' will occupy to you have interaction). For Instance:

ox --config /course/to/my_config.ron file_to_edit.txt

Roadmap

You may perhaps be succesful of locate the initiatives.todo.md file to locate my beefy plans for the way ahead for the editor!

Right right here is the present abstract

  • Preliminary Examine (0.1.0, 0.1.1) [741 lines]
  • Accepted improving useful properties (0.2.0)
  • Line numbers (0.2.0)
  • Attempting (0.2.0) [1040 lines]
  • Undo and Redo (0.2.1) [1282 lines]
  • Enter worm (0.2.2) [1278 lines]
  • Marvelous expose line interface (0.2.3)
  • Config recordsdata (0.2.3)
  • Changing textual mumble (0.2.3) [1549 lines]
  • Syntax highlighting (0.2.4) [1894 lines]
  • Tabs for multitasking (0.2.5) [2050 lines]
  • Macros (0.2.6)
  • Tweaks #1 (0.2.7)
  • Tweaks #2 (0.2.8)
  • Mouse toughen (0.2.9)
  • Auto indentation (0.3.0)
  • Prettifier / Computerized code formatter (0.3.0)
  • Constructed In linter (0.3.0)
  • Auto brackets (0.3.1)
  • Auto whole (0.3.2)
  • File tree (0.3.4)
  • Start web web page (0.3.5)

License

Dispensed beneath the GNU GPLv2 License. Leer LICENSE for further recordsdata.

Contact

You may perhaps be succesful of contact me on Discord at curlpipe#1496. I stroll to be happy to reply any questions you presumably may also truthful occupy!

Acknowledgements

  • Curlpipe (Luke), for in fact developing Ox
  • Spike, for the logo

Read More

Similar Products:

Recent Content