Giter Site home page Giter Site logo

helix.vim's Introduction

Helix.vim

A set of unholy Vim keybindings to make it behave like Helix. Useful for IDEs with a Vim emulator but no Helix emulator.

Usage

Download or clone the Vim files from this repository. Cloning is probably easier for keeping up-to-date.

git clone https://github.com/chtenb/helix.vim ~/helix.vim/

Then source the relevant .vim files in your .vimrc.

For generic Vim

source ~/helix.vim/helix.vim

For Visual Studio/VsVim

Make sure VsVim is installed. Then

source ~/helix.vim/helix.vs.vim

When PeasyMotion is installed, gw will behave similarly as in helix.

For other Vim emulators

Your best bet is to source helix.vim/helix.vim, but you will probably run into emulator-specific bugs or quirks. If you manage to develop a working set of mappings for an IDE that is not included here yet, feel free to open a pull request for it.

Also have a look at apocryphal.vim and apocryphal.vs.vim for mappings that are not canonical for Helix, but you may find useful nonetheless.

Limitations

Vim has no builtin LSP, Treesitter or multiple selection support, so the generic mapping set lacks bindings that rely on these features. Depending on the IDE some functionality can be emulated in IDE-specific mappings. See src/helix.vs.vim for examples.

Documentation

The documentation consists of the scripts themselves, in src/, most notably src/helix.vim and src/helix.vs.vim.

Development

The source files are in src/ and are compiled into top-level scripts with the compile.sh script. For convenient development it is recommended that you source the files directly from src/ and add the following mapping for reloading the keymap.

noremap <F4> <Esc><Esc>:mapclear<CR>:source ~/.vimrc<CR>:echo "reloaded!"<CR>

Pull requests for fixes and additional emulator support are welcome.

helix.vim's People

Contributors

chtenb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

novusnota-forks

helix.vim's Issues

`x` does not keep selecting lines

Hey, I love that you've done this! I really like helix's movements, but the editor itself isn't really ready for prime-time, in my opinion, due to its lack of plugins and configurability.

One thing I've noticed right away is that x doesn't continue to select lines; it just toggles line selection if you keep pressing it.

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.