Sublime Forum

Vintage vs NeoVintageous vs SublimeSix

#1

I love using SublimeText and recently discovered Vim.
I made a try between the three packages mentioned in the topic and from a beginner’s perspective they seem to work the same way.

So, I would like to hear from you guys: What are the differences between these packages? Is there a winner or do they work for different purposes?

Vintage: Built-in
NeoVintageous: https://packagecontrol.io/packages/NeoVintageous
SublimeSix: https://packagecontrol.io/packages/Six

2 Likes

#2

Vintage isn’t as feature complete as NeoVintageous.

Vintageous (open source) was abandoned by the original developer who then started SublimeSix which is not open source. NeoVintageous is a fork that continues the work of Vintageous.

I personally use SublimeSix and have payed for license as it does almost everything I need as far as vim keybindings go (C-f, C-b, C-d, and C-u are the big missing features for me). Other stuff that is missing I have been able to replace with features already built-in in Sublime Text.

Unfortunately, there currently isn’t a vim emulator for Sublime Text that is as good as what is available for Atom or VS Code.

2 Likes

#3

VSCode’s Vim emulator was the reason I left Sublime. I was coming from Vim and all of Sublime’s emulators were far too basic and buggy for me to tolerate. Working with them was a constant stream of frustration where I was thinking about the problems with the emulators more than the code I was writing.

That is not the case anymore.

NeoVintageous has gotten so much better I’m now back to Sublime (for the most part). As far as feature compatibility with Vim, I’d say they’re about the same. They’re not as complete as evil-mode in Emacs, but they’re completely useable.

One thing that edges NeoVintageous past VSCode Vim is the neovintageousrc file. I can’t express just how much more awesome it is to configure Vim bindings in a format that’s so close to my vimrc than in json.

I know you didn’t ask how it compares to VSCode Vim, but I think their quality is similar enough to mention them both in the same vein. They both still have issues (and maybe NeoVintageous even has a few more), but they don’t get in the way of what you’re wanting to do.

As for the other Sublime Vim emulators:

Vintage — If all you want to do is navigate around the page, it’s ok, but NeoVintageous does it and much more.

ActualVim — I had high hopes for this. It uses the real NeoVim instead of trying to recreate Vim. This means you can use your vimrc, which means you can use some of the Vim plugins. Sounds like an immediate win. However, no auto-complete or snippet pop ups, and no multiple cursor support? Ummm… no thank you.

SublimeSix — Knowing that Vim emulators are often more sketchy than useful (holy crap the one for XCode is a disaster; I can’t imagine anyone thinking it “works”) I can’t see myself paying for one. Waaaay too much risk in my mind.

The ActualVim issues raises an important point with Vim emulators. The best ones accentuate the native program experience, they don’t try to replace or conceal them. I have all the built in editor power, functionality, and commands with both NeoVintageous and VSCode Vim. Neither one of them replicate Vim or its configurability perfectly or as well as evil-mode, but I’m kinda glad they don’t. I use Sublime to use Sublime. NeoVintageous should make my Sublime experience better, not try to make it the other way around.

8 Likes

#4

Thank you all for your thoughts. It’s really important to me.

Now i’m testing Neovintageous and as a first experiment, I’ve added the packages listed below along with Neovintageous and it’s being awesome to write in Sublime.

0 Likes

#5

Some of the plugins you’ve installed like Surround, Vintage Surround, Vintage Lines, are either redundant or will causes conflicts in Neo, because they’re already builtin:

See https://github.com/NeoVintageous/NeoVintageous/blob/master/res/doc/neovintageous.txt.

Here are some of the plugins out-of-the-box:

  • Unimpaired
  • Surround
  • Abolish
  • Commentary
  • Indent Object
  • HighlightedYank

Also the ctrl keys are disabled by default in Neo (this will change in v2.0). Control keys give you things like windowing commands e.g. <C-w>h, <C-w>j, <C-w>k, <C-w>l.

Some features require additional plugins like splits <C-w>s, <C-w>v, <C-w>n which require the Origami plugin, jumpto-diff, some Unimpaired commands require SublimeLinter e.g. ]l and [l (jump to error).

You might also like to configure a more fluent side bar toggle (i use this so much that I’d be lost without it):

0 Likes

#6

Thank you @gerry for the tips. These plugins are really cool!
I’ve remove those packages, read the docs and I’m already using the built-in surround feature.
Could you share how to enable :set relativenumber inside neovintageous?

0 Likes

#7

Oh sorry, I forgot that Vintage Lines was the relative lines package.

Neo doesn’t have relative lines support. There are just too many issues trying to implement it properly. It needs to be implemented in the ST core.

It’s an often requested feature:

https://forum.sublimetext.com/search?q=relative%20line%20numbers

0 Likes

#8

No problem, so I’ll keep using vintage lines. I didn’t have issues using it until now.

0 Likes

#9

Same here…After abandoning Emacs and desire to settle on (neo)vim and having problems with Actualvim, I wanted to settle on plain (neo)vim, but then tried VSCode in order to minimize need for fiddling with (neo)vim plugins. However I simply do not like JS-stuff and having license for ST3 wanted to give it another try. :wink:

Installed Anaconda, jinja2, tailwind…plugins so I can work with python-powered static-site generator (Nikola. Moreover, I plan to use rstmarkup for all my writings and found everything is (still) there. :slight_smile:

:+1:

ST3 works nicely on my Debian (Sid) machine running dev-version, but I’m eagerly awaiting ST4 to continue supporting it. :fortune_cookie:

0 Likes

#11

NeoVintageous is REALLY, REALLY GOOOD

0 Likes

#12

for me NeoVintageous it is excellent

0 Likes

#13

Thanks,
I was quite frustrated with default vintage mode,
(it also have some benefit too, not harm any kind of Default Settings, & some extra feature, like :node execute Built-system: node…)

0 Likes