Recently I noticed a post on Hacker News about something called VimR, the full title was VimR - Refined Vim Experience for OS X.
As someone who a) uses Vim, b) runs OS X and c) enjoys refined experiences this had my attention.
Note - The version I am using is v0.1.5, the creator has stated in several places that this is still very much a work in progress
What is VimR
So what is VimR (apart from a refined Vim Experience for OS X!)?
The quick answer is that it is a more visual Vim environment, not dissimilar to MacVim.
The slightly longer answer, if I follow what people have been saying correctly is that this an implementation of the MacVimFramework. MacVimFramework is a fork of MacVim which has been tweaked so that it can be used inside other projects.
To quote the creator of VimR, Tae Won Ha;
So, to summarize: the rationale behind VimR is to build an editor which offers the full Vim experience, even if I don’t use all features of Vim, but has other convenience features—found in many other editors and in Vim scripts—in a graphical form, improving the whole editing experience.
Tae Won Ha
How do you Install VimR
If you have installed any Mac apps before from a website this won't be new to you but if you haven't the process is very simple;
- Visit the official website of VimR
- Click the Download link, this will download a compressed file
- I have my machine set up to auto extract compressed files once downloaded, if you don't you will need to extract the file.
- Drag or move the extracted file 'VimR.app' into your Applications folder
First Impressions of VimR
The very first time I opened up VimR my immediate first impression was "Yes! They use Solarised" which is the colour scheme that I use in my normal vimmings! Of course then I realised that this isn't another copy of Vim, this *is* Vim, so it is reading my vimrc - which means no settings to change :-)
The sidebar file browser defaults to your home directory, which makes sense, I looked to see if I can configure this and at the moment you don't seem to be able to.
The first thing I wanted to do is open a project I have been working on to get a feel for how it acts on a project. To do this I pressed CMD+O.
Everything looks good. It noticed I was using Python and has applied syntax highlighting correctly, I can also see just the two files that are in this project (see the following image)
This is maybe a silly project to test with, but by pressing CMD+Shift+O I was able to get into Quick Open which allows me to start typing filenames in a fuzzy way and when I tested it on a large rails project it works great.
Things I hope come soon to VimR
I don't know if Tae Won Ha will ever read this, but if he does, first of all hi and thank you! and secondly, here are some things I would love to see implemented at some stage;
- Being able to open the app from the command line - I tried a few different methods but couldn't get my current path passed in correctly. (I have reported this)
- Being able to make the app full screen - This is fairly common functionality across most OS X apps at this point. (Covered by this issue)
- A documented or easy way to add plugins - Right now prior knowledge of Vim is assumed.
- A way to set a default opening directory - Right now we need to open it and immediately open a new project.
The VimR Codebase
If you know Objective-C (I don't) then you may want to have a look around the codebase.
I have pulled it down and opened it in X Code, like I say I don't speak Objective-C but it seemed intuitive enough to work around, it is interesting to see how it hangs together.
VimR Sounds Stupid, why not use MacVim or Vim?
A commenter on the original Hacker News article I linked to said it better than I could;
I love the negativity in many of the responses here. Obviously people like native apps. Macvim is a thing. Emacs has a gui version for os x. Sublime is a thing. This is a polished port of macvim that has a file drawer, which is a feature that many people want baked into macvim. Browsing complex file hierarchies and large projects isn't great inside a terminal, and is a giant hurdle for many new users of vim.
If this isn't for you then fine but don't rush here to proudly proclaim how you don't understand the point of this. I don't know why anyone submits their pet projects here.
Playing with VimR
Sure there are some things that are what I would consider to be missing, but I think I will continue playing with VimR with a view to it replacing terminal Vim as my main editor.
The fact that it is still Vim at its core means that should I need to jump back to Vim in the terminal there will be no muscle memory lost.
Some VimR Resources
Just in case you want to know more, here is a list of the resources I have used for this write up :-)
- Official VimR Website
- Official VimR Twitter Account
- The VimR Git Repository
- UseVim article introducing VimR
- Tae Won Ha's Twitter Account
- Tae Won Ha talking about why he made VimR