VimR – Refined Vim Experience for OS X
vimr.org
vimr.org
(Kinda how some linux projects used xembed to embed gvim into their apps, eclim also used to have a mode to embed gvim into eclipse)
Think of it as a proof of concept implementation for a vim editor based on the macvim framework version. At worst, you don't really give a crap. At best you can use this in your own editor/ide/debugger/whatever.
The wording not emulated as mentioned in a post below is in reference to vi emulation in eclipse/idea/sublime/atom/xvim or one of the other 1000 editors that have vi keybindings.
Ps. I'm not affiliated in any way, I still use tmux and console vim, but I've been following this project for a while.
Yes, you can achieve all this using plugins like NERDTree and Ctrl-p, but sometimes a polished GUI just provides a better experience than any ncurses-based interface can. And you're not giving anything up in the process—you can still open NERDTree from VimR if you want to.
Hope the negativity here isn't discouraging. I'm really excited to see where this project goes.
I find it interesting that you included a fuzzy quick-open. One of the pain points with CtrlP in a large project - even with fast hardware - is the synchronous building of its filesystem cache. I would be interested in trying another implementation that lives inside of an app (where it can be dispatched asynchronously).
All in all, a nice looking app! I'm interested in giving it a shot!
Thanks Guys for making this!
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.
I already see tons of possible plugin. A simple one would be to have a webkit window which reloads the page when working on a web project, with javascript bindings on the webkit window there is a lot of potential.
Or an OpenGL shader preview for real time GLSL editing.
Could also be simply a documentation browser.
There are many tools I'd like to integrate more with my editor.
To all the haters, use your imagination, it's much more than just vim in the terminal. And I'm well aware that I can have a gazillion window open (web browser, doc browser, shader preview, game window...), but this kind of integration can improve productivity and reduce frustrations.
My only gripe so far is that I'd like to be able to configure additional filtering for the fuzzy file find to, for example, make it automatically ignore node_modules folders.
1. I could not figure out how to change the font. I'd love a smaller font.
2. The "show" and "hide" side bar shortcuts should be merged into a single "toggle" shortcut
3. Generally, shortcuts should be more vim-y. If I wanted to do cmd + } I would be using emacs :)
4. could not find a keyboard shortcut to change focus from the editor to the sidebar, so I have to use my mouse there (bad).
5. Quick open does not have vim-like navigation. So I need to use the arrows to select a file in the list. Also, is there a way to set an ignore list? (e.g. ignore all the object files).
6. Long term, it would be amazing if gui actions could be tied to keyboard shortcuts via the vimrc.
So, no problem, vim lets you remap your keys, which takes care of the problem. Many of us remap the "arrowkeys on the home row" to the standard inverted-T of ijkl (and remap i, for insert left, to h, reach left instead of reaching up), so that both sets of arrowkeys on the keyboard match each other and match their arrangement in every other app we use. Those with other keyboards, such as Dvorak, will often map to different keys that make more sense on their own keyboards. The ability to do so has always been one of the features of "real vi(m)".
I hope that for your file browser, you'll pass the keypresses through the (g)vimrc map, so that whatever keys a user has chosen for up, down, left, right, escape, and whatever else the file browser handles, will work the same way in both the editor and the file browser, which is to say, the way their "real vim" works.
1) in the shell run "vim ."
2) hit "t" on a file
3) type ":bd<enter>"
You still have 2 tabs open. One with the file explorer and one with an empty file. Probably because the file explorer has type "nofile" or something, so vim things the buffer you just closed was the last one. Im not sure why its not closing the tab. It might be a bug.
Is there a way to tell vim "When I type :bd close the frickin tab, even if its the last one!"?
1) in the shell run "vim ."
2) hit "t" on a file
3) type ":bdel<enter>"
The tab is still open.
But I understand it's not a very good solution.
If you find that there's a specific feature missing, please open an issue. All feedback is appreciated :) This is still very much a work in progress.
[1] https://github.com/qvacua/vimr/wiki/File-Browser-Actions
But I would love to see more cross-platform Gui wrappers and more embedded Vim. I'm hopeful that NeoVim will help make this happen.
NeoVim seems to be making really good progress. There are packages for installing on OSX and Linux. In my daily use NeoVim has been solid. I love the direction that NeoVim is taking, and believe it will be a great foundation for embedded vim.
Feels like the authors effort would be better spent on helping some project like NeoVim instead. https://github.com/neovim/neovim
It's better for people that could not care less using a version that's "cross platform" as the lowest common denominator, and want something that runs well and with native hooks to the platforms they use.
Deleted comment