GithubHelp home page GithubHelp logo

loewenheim / breeze Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dpc/breeze

0.0 2.0 0.0 221 KB

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

Rust 100.00%

breeze's Introduction

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

breeze's People

Contributors

dpc avatar ricochet1k avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.