Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Replacement for VIM
11 points by toblender on Aug 7, 2014 | hide | past | favorite | 29 comments
Hi HN,

I've been using vim since university to do software development. I love that it's on virtually every platform and is fast.

I'm looking to upgrade. Is there a replacement that allows me to split screens (vertical/horizontal) and virtually never use the mouse?

I've tried Sublime in classic mode, not enough split screens for my workflow.

Intellij only support vertical split and the vim plugin is lacking.

Thanks!




There is no replacement of Vim; it is the best thing of its kind. I've been using it since 1994 and wouldn't even think about replacing it.

The current region of the screen you're working in can be split horizontally with Ctrl-W s, and vertically with Ctrl-W v.

Moving among the splits is done using Ctrl-W + movement keys, where movement keys are arrows, or h, j, k, l. Plus undoubtedly in other ways.

There are ways to rotate and rearrange windows themselves, and perform actions that open windows: many familiar actions can be prefixed with Ctrl-W so that they open a new window, such as chasing a tag (Ctrl-]).


You have several options: like someone has already mentioned, vim + tmux works amazingly well, and that's what I personally use. Not sure what you are using. A second option is emacs + evil-mode, which, to be honest, is pretty good and would definitely recommend it if you want to move away from vim but have the biggest compatibility.

That said, what's the reason you want to move away from vim? Once you have the right plugins, there's no editor that can beat it. I personally use vim + tmux for pretty much everything except for clojure, for which I use emacs + evil-mode (paredit is very very nice, and the vim equivalent didn't work well for me).


Why not emacs + evil-mode full time over vim + tmux?


Wooops. Didn't see your question, so answering now. I simply like vim way more than emacs. evil doesn't work very well with a lot of the emacs extensions, and there are a lot of vim extensions that do not exist (or are just a simpler version) in emacs. vim + tmux is just too good. emacs syntax highlighting is inferior in a lot of languages (at least the ones I mainly work with), too. Sure, there are a lot of things in emacs that are way better than vim, but, for me, vim wins by far (my vimrc is not short and I use a lot of plugins).


If split screens are your thing, it might be worth it to try a Tiling Window Manager. I agree with you that Sublime doesn't natively have enough split screens, so I use XMonad, and split them and organize them as I please.


I thought vim could already split both horizontally and vertically, with the :split and :vsplit commands


Yes, vim definitely can. He probably is looking for an editor that support the splitting like vim does and hasn't found one yet.


If that is the right interpretation of the question, then the question lacks a reason for wanting a replacement.

"I like Vim; it is fast, runs on many platforms and I've been using it for development since university. I know that it can split windows horizontally and vertically. But for some inexplicable reason, I want to replace it: is there something else that can split windows horizontally and vertically?"

It kind of "does not compute", you see?


Vim already can split window both horizontally and vertically. If that's not good enough for you, you could maybe try different approach: keep Vim, and try some of the tilling window managers (if you're using Linux), like i3 or awesome.


Emacs is the obvious answer: it allows keyboard-only operation, has a very flexible frame splitting tool and you may leverage your VI experience by using evil-mode.


Install Janus and all your heart's desires will be fulfilled:

https://github.com/carlhuda/janus

Bonus: plop this in your .vimrc.after for super easy movement around split windows

    nnoremap <C-h> <C-w>h
    nnoremap <C-j> <C-w>j
    nnoremap <C-k> <C-w>k
    nnoremap <C-l> <C-w>l


If you use a Mac, iTerm2 has nifty Cmd+D binding to split windows vertically, and Cmd+Shift+D to split horizontally, then Cmd+[ and Cmd+] to move around. It actually has an advantage over splitting Vim since you can actually split off a whole shell.

You can achieve the same thing with tmux of course, this just feels very natural and is available out of the box with no configuration required.


What's the problem with splitting the screen in Vim? Or is this not the problem you're trying to solve?

I regularly have Vim open split to 2-6 windows, depending on the screen. I prefer in-vim splitting to out-of-vim splitting (tmux et al) because all buffers are shared for quick jumping between them, completion, copy-pasting, etc.


What about telling us what you want to upgrade?

Are you looking for a "better" looking interface ? Try Sublime Text, Atom or Brackets.

Are you looking for better $LANGUAGE support? Try any $LANGUAGE-specific IDE.

Are you looking for better scriptability? Try Emacs, possibly with evil-mode.

Are you looking for a better editing experience? There's nowhere to look.


Uograde from VIM? Emacs.


I won't be able to offer much help, I'm still using VIM, but I'm curious as to what is spurring you to change? Are you just exploring to see if there's anything better and/or finding interesting features of other editors, or are you finding something lacking?


I guess this is my concern as well. I'm not sure what the need is for the shiny new object in this case; I've never felt limited by Vim, but perhaps there are particular features or capabilities that the author is interested in?


I'll note that you can upgrade Vim itself via plugins. The easiest way I've found so far is to use a 'distro' like spf-13: http://vim.spf13.com/


Not sure if splitting is your only real issue with Sublime, but the Origami package may help: https://sublime.wbond.net/packages/Origami


What's wrong with emacs?


for dynamic languages i always use vim with tmux. for Java/C# I use IntelliJ/VS.NET with IdeaVIM or viemu since those IDEs allow easy refactoring and navigation based on the type system. I don't program in any other statically typed languages like Go or Scala so YMMV. I picked up tmux about 2-3 years ago and it was a major step forward, so I recommend you do that first before abandoning vim.


You can split screens (and virtually never use the mouse) in Vim. What particular feature are you looking for here?


Try Atom.io on Vim mode. Split screens with command + k + arrow key.


Wow! Atom is pretty cool.

A bit different than vim (horizontal split): control + w + s


tmux with vim



Vim can already do horizontal and vertical splits. If you use tmux and fire up multiple instances of Vim, you'll lose some good things like ctrl+n autocompletion of words in other files.


Wait for neovim?


Or don't wait...the neovim team is taking a very incremental approach so that (at least for my fairly complex setup) everything still works as expected.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: