Skip to content
A real editor for real programmers
Branch: develop
Clone or download
akiradeveloper fix C-f and C-b
Signed-off-by: Akira Hayakawa <ruby.wktk@gmail.com>
Latest commit 1858b1e Apr 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
behavior add failing test Mar 28, 2019
bottleneck dev update Mar 19, 2019
demo
src fix C-f and C-b Apr 12, 2019
.gitignore
.travis.yml yank on x Mar 21, 2019
Cargo.toml dev update Apr 7, 2019
LICENSE Initial commit Feb 17, 2019
Makefile add ijk.sh Mar 22, 2019
README.md
build.rs
ijk.sh add ijk.sh Mar 22, 2019
mk_behavior_template.sh

README.md

ijk

Tokei Build Status

A real editor for real programmers.

Demo

Usage

Design Doc

Design Doc

Features

ijk is similar to vi but with some differences:

  • Word range: In vi, dw and cw affects the range from the current cursor position to the end of the word as if user started a visual mode and word-jumped. This behavior is rarely meaningful in software programming. Instead, dw and cw affects the entire word the cursor is on. This behavior is consistent with the char version of delete and replace (x and r) in a sense that they affect the object the cursor is on.
  • Native directory explorer: ijk has a native implementation of directory explorer similar to Defx. This is because real software programming rarely end up with coding a single file but many files and directories in tree. With the explorer you can access to files and directories using line jump and string search as in text editting.
  • Navigator: Navigator is the central part of ijk and you can switch to navigator anytime by pressing C-w. Navigator is like a stack of living pages. You can access to any open files, directories and other temporary pages like command selector and switch between them very quickly.
  • Space prefix: vi's command prefix is often mistyped because it needs two keys (shift+;) pressed at the same time in US keyboard. ijk uses space to start command mode where you can w to save the file etc.

Tasks

  • Syntax highlighting (probably the syntect is a good choice)
  • Automated benchmarking (using flamer is planned) and performance optimization
  • Code snippet
  • User config
  • Integration with language server
  • Integration with Git
You can’t perform that action at this time.