Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caleb-allen/VimBindings.jl
Vim bindings for the Julia REPL
https://github.com/caleb-allen/VimBindings.jl
julia julia-repl repl vim
Last synced: 27 days ago
JSON representation
Vim bindings for the Julia REPL
- Host: GitHub
- URL: https://github.com/caleb-allen/VimBindings.jl
- Owner: caleb-allen
- License: mit
- Created: 2020-10-19T00:27:48.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T17:40:54.000Z (3 months ago)
- Last Synced: 2024-05-03T00:02:08.241Z (about 2 months ago)
- Topics: julia, julia-repl, repl, vim
- Language: Julia
- Homepage: https://caleb-allen.github.io/VimBindings.jl/
- Size: 474 KB
- Stars: 101
- Watchers: 5
- Forks: 3
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Lists
- awesome-stars - caleb-allen/VimBindings.jl - Vim bindings for the Julia REPL (Julia)
- vim-keybindings-everywhere-the-ultimate-list - VimBindings.jl - A Julia package which emulates vim directly in the Julia REPL (Development)
README
# VimBindings.jl
VimBindings.jl is a Julia package which brings vim emulation directly to the Julia REPL.[![](https://img.shields.io/badge/docs-blue.svg)](https://caleb-allen.github.io/VimBindings.jl/)
![latest ci](https://github.com/caleb-allen/VimBindings.jl/actions/workflows/test.yaml/badge.svg)### Installation
```julia
julia> import Pkgjulia> Pkg.add("VimBindings")
```Then, place the following in your julia startup file (usually `~/.julia/config/startup.jl`)
```julia
if isinteractive()
@eval using VimBindings
end
```### Features
- Modifies REPL to allow binding to Escape key
- vim-like bindings available in all REPL modes
- Motions (e.g. `hjkl`, word motions like `w`, `W`, `b`, `e`, etc.)
- Operators (`c` and `d`)
- Text objects (e.g. `daw`, `ciw`)
- Undo and redo implementation with vim-like semanticsA complete list of features can be found in [the documentation](https://caleb-allen.github.io/VimBindings.jl/stable/features/)
### Documentation
For more information about installation, configuration, and a full list of features, please see the [documentation](https://caleb-allen.github.io/VimBindings.jl/stable/)
### Feedback
Is there a vim command you long for that isn't implemented? Please share by using the [Key bind request thread](https://github.com/caleb-allen/VimBindings.jl/issues/15)
Issues with bug reports or general feedback is welcome.
### JuliaCon 2023 Talk
You can view the JuliaCon Talk about this package on YouTube:
[![REPL Without a Pause: Bringing VimBindings.jl to the Julia REPL | Caleb Allen | JuliaCon 2023](https://img.youtube.com/vi/XmR1f17pYFQ/0.jpg)](https://www.youtube.com/watch?v=XmR1f17pYFQ)
### In Memoriam
This project is only possible because of the incredible work of Bram Moolenaar, the creator of vim. His passing marks the loss of a world class hacker, and an amazing leader both in open source projects and in humanitarian aid with [ICCF Holland](https://iccf-holland.org/). It is with a heavy heart that we dedicate this project to his memory.