Skip to content
 
 

Latest commit

 

History

8,118 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helix

Build status GitHub Release Documentation GitHub contributors Matrix Space

Screenshot

A Kakoune / Neovim inspired editor, written in Rust.

The editing model is very heavily based on Kakoune; during development I found myself agreeing with most of Kakoune's design decisions.

For more information, see the website or documentation.

All shortcuts/keymaps can be found in the documentation on the website.

Troubleshooting

Changes in this fork

This repo tracks mattwparas/helix's steel-event-system branch (upstream Helix plus the Steel plugin system, customizable statusline, and code actions on save) and adds the following on top:

  • File watching with external-change auto-reload — unmodified buffers reload automatically when their files change on disk (macOS backend via filesentry); modified buffers surface a conflict warning instead (helix-view/src/document.rs, [editor.auto-reload]).
  • Vim-style handling of externally deleted files — when an open file is deleted from disk the buffer is kept and marked modified rather than closed; :w recreates the file.
  • Snappy :q with LSP servers running — the shutdown flush wait is capped so quitting no longer hangs ~1s per language server.
  • Image and PDF rendering in the editor:open on an image (png/jpeg/gif/webp/svg/…) or PDF renders it in the view via the kitty graphics protocol (unicode placeholder placements), scaled to fit, aspect-preserved, read-only. PDFs page with h/k (previous) and j/l (next) — arrow keys too — plus :media-next-page, :media-prev-page, and :media-goto-page N (bindable like any typable command). Auto-detected on kitty/ghostty-family terminals; configurable with editor.image-rendering = "auto" | "kitty" | "disabled". PDF pages rasterize through pdftoppm (poppler); non-PNG images convert through magick/convert/sips, whichever is present. Terminals without graphics support get a text fallback instead of binary garbage.
  • Steel/event fixessend_blocking no longer panics without a tokio reactor; Steel pinned past a thread-spawning bug.

Features

  • Vim-like modal editing
  • Multiple selections
  • Built-in language server support
  • Smart, incremental syntax highlighting and code editing via tree-sitter

Although it's primarily a terminal-based editor, I am interested in exploring a custom renderer (similar to Emacs) using wgpu.

Note: Only certain languages have indentation definitions at the moment. Check runtime/queries/<lang>/ for indents.scm.

Installation

Installation documentation.

Packaging status

Contributing

Contributing guidelines can be found here.

Getting help

Your question might already be answered on the FAQ.

Discuss the project on the community Matrix Space (make sure to join #helix-editor:matrix.org if you're on a client that doesn't support Matrix Spaces yet).

Credits

Thanks to @jakenvac for designing the logo!

About

A post-modern modal text editor.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages