Skip to content
/ breeze Public

An experimental, kakoune-inspired CLI-centric text/code editor with |-shaped cursor (in Rust)

Notifications You must be signed in to change notification settings

dpc/breeze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Travis CI Build Status Gitter Chat

breeze - An innovative, modal, CLI-centric text/code editor

Features & Goals

  • Heavily inspired by Kakoune
  • Modal & CLI-centric, but in a modern edition
    • |-shaped cursor
    • Kakoune-inspired editing experience
  • Core library should compile to WebAssembly, so it can run everwhere, especially in the browser
  • WebAssembly plugin support
    • Plugin-centric
    • Sandboxed, so they can't steal your Bitcoins!

I have recently switched to kakoune after years (decades?) of using Vim. I think changing action, movement into movement, action is a brilliant idea. I enjoy simplicity of Kakoune and I am generally quite happy using it.

However I have couple of ideas how Kakoune could be better and/or disagree with a couple of things in it. So I decided to hack together my own code editor to demonstrate / try them.

What is distinct about Breeze

Rust. Life is too short not to use Rust.

Terminals can do |-shaped cursors now, people! We don't have to use the blocky cursor anymore! In Breeze | is the only cursor shape. Whole design assumes |-shaped cursor. It feels more like a graphical text editor, than traditional CLI ones. A fresh breeze in CLI terminal world.

Kakoune seem very Vim-golf-centric. In Breeze the philosophy is slightly different. It doesn't matter to me in how many keystrokes one can perform certain editing operation. What matter to me most is predictable, natural, easy to use modal text edition. Muscle memory and rapid keypressing without having to pay much attention is what I am aiming for.

Status and plans

Breeze Screenshot

Some stuff works, but still very, very early. And considering how little time I have, it will probably stay this way for a long while. I might hack on it continously in the future, or I might loose the motivation. I am happy to accept collaborators and help.

Running

If you don't have Rust installed go to https://rustup.rs

Aftewards:

cargo run --release -- [file_path]

to run from source code, or

cargo install -f

to install.

How to use (what works)

Breeze is modal. You are typically in the normal mode, enter insert mode with i, and leave it with Esc. You know... just like in Vim or Kakoune.

Breeze has selections. Kind of like in Visual mode in Vim, just more automatic. If you've used Kakoune - they are very much like in Kakoune.

What should work already:

  • basic moves: hjklwb%
  • numerical prefix for most of implemented stuff
  • basic insert mode: i, o, Esc
  • deletion: d, c
  • copy&paste y, p, P
  • g (followed by h, j, k, l)
  • Ctrl-P (!!!)
  • ' - switch selection direction
  • < and >
  • line selection: x, X
  • undo: u U
  • basic commands: :q, :e, :bn, :bp, :w

About

An experimental, kakoune-inspired CLI-centric text/code editor with |-shaped cursor (in Rust)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages