Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carlosdcastillo/vim-mode
Experimental next generation vim support for atom. This project needs a new home!
https://github.com/carlosdcastillo/vim-mode
Last synced: 2 months ago
JSON representation
Experimental next generation vim support for atom. This project needs a new home!
- Host: GitHub
- URL: https://github.com/carlosdcastillo/vim-mode
- Owner: carlosdcastillo
- Archived: true
- Created: 2014-05-09T16:53:47.000Z (over 10 years ago)
- Default Branch: neovim-mode
- Last Pushed: 2019-04-24T04:13:44.000Z (over 5 years ago)
- Last Synced: 2024-08-02T01:25:54.981Z (6 months ago)
- Language: CoffeeScript
- Homepage:
- Size: 837 KB
- Stars: 557
- Watchers: 34
- Forks: 18
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# I'm not working on this anymore. It was all experimental.
This project/idea needs a new home.
# What is this?
This is a work in progress [Atom](http://atom.io/) package that implements
complete vim bindings by connecting to
[Neovim](http://github.com/neovim/neovim).# What's new?
I've update everything to work with Neovim 0.1.2 (it should also work with the
version in master of [Neovim](http://github.com/neovim/neovim). The version
I'm currently using: [download]( https://github.com/neovim/neovim/archive/v0.1.2.tar.gz).On the [Atom](https://atom.io/) side I am currently using version 1.5.3. In
versions 0.206 and later you will need to change the name of the directory
vim-mode to something else (I use the name nvim-mode). If you don't Atom
confuses this plugin with the one developed by GitHub.It should be usable enough that if you are adventurous you will be able to get
day-to-day work done. There are, however, plenty of features missing, so you
will have to be patient when you use it.# How do you run this?
Install, run, and quit Atom to make sure .atom exists
Install vim-mode
$ cd .atom/packages
$ git clone https://github.com/carlosdcastillo/vim-mode.git
$ cd vim-mode
$ apm installOn OS X and Linux, create a folder for the named pipe:
$ mkdir -p /tmp/neovim
Run Neovim, pointing it to the named pipe, on OS X and Linux:
$ NVIM_LISTEN_ADDRESS=/tmp/neovim/neovim nvim
The equivalent in Windows (define an environment variable and point it to the
named pipe) is:set NVIM_LISTEN_ADDRESS=\\.\pipe\neovim
and then
nvim.exe
# What do you want to do with this?
This project aims to:
* Bring real vim bindings to Atom.
* Give the abstract-ui Neovim functionality a work out and find issues using
the msgpack api.
* Eventually build an editor that I would find useful. At the current state it
is pre-alpha.# See it in action
***A video that shows the current (June/2015) status:***
http://youtu.be/FTInd3H7Zec
A video that shows the integration in action in March/2015:
https://www.youtube.com/watch?v=7TVBcdONEJo
An older video from January of the integration in action, using the abstract-ui
branch:https://www.youtube.com/watch?v=yluIxQRjUCk
and this is an old video from 2014 using the old redraw-events branch (from mid
2014):http://www.youtube.com/watch?v=lH_zb7X6mZw
# Things TO DO
* Handle files of more than 9999 lines.
* Handle (or handle better) Atom initiated cursor position changes.
* Make one of the following UI connections/integrations: visual selection,
highlight search, auto completion, etc.
* Better handle editing of new files
* Make the geometry of the Atom buffer fully match the geometry of the Neovim
buffer.# Contributing
1. Find something that doesn't work (this step shouldn't be that hard, plenty
of things don't work yet)
2. Either (a) fix it and send me a pull request or (b) file a bug report so I know it
needs to be fixed.# Configuring Atom
To make sure that hjkl get repeated like (Vim and Neovim) on Mac you will need to
run (from the command line):defaults write com.github.atom ApplePressAndHoldEnabled -bool false