
Vim 8.0 released - laqq3
https://groups.google.com/forum/#!topic/vim_announce/EKTuhjF3ET0
======
znpy
Given the occasion, and given that vim is charity-ware software
([http://charityware.info/](http://charityware.info/)), it would be cool to
have some sort of HN-wide donation to ICCF ([http://iccf-
holland.org/](http://iccf-holland.org/)).

Donation page: [http://iccf-holland.org/donate.html](http://iccf-
holland.org/donate.html)

It seems that you can send bitcoins too: [http://iccf-
holland.org/bitcoin.html](http://iccf-holland.org/bitcoin.html)

Imho just mentioning HN in the payment description would be okay :)

~~~
DiabloD3
Given Vim powers our industry, it'd be neat if pg or any of the other big
members of our community donated a non-trivial amount.

There is very few pieces of software I could never imagine replacing in my
toolkit. Linux? I use Windows, too. GCC? Clang gets some love sometimes.
Languages themselves? I'm fluent in several. Shell? I used Bash for years, now
I switched to ZSH, but could go back to Bash if I needed. Tmux? I could also
go back to screen if I needed to.

But vim? There's no replacement for vim. vim changes how you think about
programming, how you think about software development. It is this frictionless
editor (I mean, yes, huge fucking learning curve, but so is programming in
general) that, even 20 years later, I will never abandon (unless I'm doing
Java, because... fuck Java outside of Eclipse or IntelliJ; and yes, I've tried
using that one vim<->eclipse bridge, hell no).

~~~
bch
> There's no replacement for vim.

I'm used to seeing people say "vim" where "vi" is meant (of which vim is but
one (much enhanced) clone), so when you say you could switch out gcc for
clang, or bash for zsh, could you not switch out vim for (e.g.) nvi[0]? If
not, why not?

[0] [https://en.wikipedia.org/wiki/Nvi](https://en.wikipedia.org/wiki/Nvi)

~~~
JoshTriplett
nvi provides a minimalist implementation of vi. If you feel comfortable with
the vi keybindings in other editors, nvi will likely suffice. However, many
vim users expect scriptability, programming language support, and numerous
other features.

The analogous comparison would be between bash and posh/dash, or between
gcc/clang and the Tiny C Compiler.

~~~
_kst_
I haven't used nvi in several years (mostly because, unlike nvi, vim has
become universally available on the systems I use), but it's not minimalist.
nvi has a number of features that the original vi does not. Perl integration
and infinite undo are two examples.

~~~
JoshTriplett
nvi definitely provides more features than the original vi, just not nearly as
much as vim. And it doesn't have a comparable ecosystem of plugin/package
developers around it, either.

~~~
bch
Is there a popularity dashboard of plugins that one could check to see what
features vim users are enjoying that I've been living without?

~~~
roryokane
[http://vimawesome.com/](http://vimawesome.com/) has a list of Vim plugins
sorted by their popularity, measured by presence in dotfiles repos on GitHub.

------
thedz
Notable improvements:

\- Async /Io

\- Async Jobs

\- "Packages", which allow easier built-in bundling of plugins

I'm pretty excited for this release! I've been using Neovim for several months
now, but really great to see mainline Vim get these (IMO long overdue)
enhancements.

~~~
vegabook
this async thing was Neovim's main selling point, right? I mean cruft-removal
is all well and good but vim works fast and fine for me so not important. What
does Neovim now offer that this doesn't?

~~~
dominotw
'transform Vim into an embeddable text editor engine'

I think that was the main objective of the project. Would be nice to real vim
in IntelliJ idea.

~~~
stephenboyd
As a naive IntelliJ user, I found myself editing files with Vim in IntelliJ's
terminal console.

~~~
weitzj
I was amazed when I discovered the console and everything works. I can launch
vim, neovim and tig(nurses git front-end) from within IntelliJ and all
shortcuts just work. Even fish shell in vi mode or tmux. So yeah, I have the
shell running in IntelliJ with tmux enabled and launch tig inside of it.

------
kozikow
I moved to [http://wikemacs.org/wiki/Evil](http://wikemacs.org/wiki/Evil) and
I am happy with the transition. Spacemacs seems to be a good choice nowadays.

Magit and org-mode are worth it.

~~~
oblio
I would move to Spacemacs if it had the possibility for using a tabbed
interface similar to GVim's. Ideally something already built in, mature, and
one which wouldn't need any hand holding during operation.

Vim's tabbed interface is quite good, it's basically Vim + a Vim-specific
stacking window manager.

~~~
syl20bnr
There is such support in Spacemacs, it is called "spacemacs layouts" but the
tab is visible only on demand while pressing `SPC l`. Eyebrowse is also
integrated in Spacemacs layouts so you can have multiple sub-layouts for a
given layouts. Note that Spacemacs layouts also achieve buffer isolation so
you can have a layout restricted to project's buffers only, you can also
create your own rules to automatically add buffers to some layouts (called
custom layouts). Last you can persist Spacemacs layouts across sessions.

~~~
nameless912
Layouts are fucking great. I have a moderately complex layout set up for my
org-mode workflow (tasks list top left, agenda top center, notes file top
right, kanban board bottom-left, and a scratch buffer bottom right), and they
all load the same way every time. And I have project-specific layouts that get
auto-loaded when I open that projectile project, and I have a general
programming one as well. All of these took less than an hour to set up and
work completely flawlessly.

~~~
shadeless
I haven't used layouts much, but that sounds very useful.

Do you have your dotfiles somewhere online? Or could you put up the code
needed for that setup in a gist/pastebin?

~~~
nameless912
I don't have the dotfile up anywhere, but I can run you through the basics
really quickly:

* SPC-l gives you the layouts micro-state, which allows you to do all of this. First, set up your layout however you'd like, then open up the micro-state and run the save-as command (SPC-l-S) and that will allow you to save the layout to a layouts file somewhere deep in the bowels of Spacemacs.

* When you're ready to use your layout, use SPC-l-L to load the layout from a file. Type its name (Helm is used, so you get narrowing/fuzzy-find for free) and the layout will load. Note that if you already had another layout loaded, it will load it to the next workspace (accessible through SPC-l-<workspace-number>).

* As for the org Kanban board, check here: [http://www.draketo.de/light/english/free-software/el-kanban-...](http://www.draketo.de/light/english/free-software/el-kanban-org-table) To add this to spacemacs, just open your .spacemacs file (SPC-f-e-d) and add `kanban` to your `dotspacemacs-additional-packages` list.

------
leejo
Announcement here:
[https://groups.google.com/forum/#!topic/vim_announce/EKTuhjF...](https://groups.google.com/forum/#!topic/vim_announce/EKTuhjF3ET0)

------
juandazapata
Thanks for the work done here. I'm not a VIM user anymore (I use Spacemacs
now), but it opened my eyes/mind to what is a professional code editor. After
using VIM, using any other editor feels like programming in Notepad. VIM
you'll always be in my heart.

~~~
desireco42
I use Spacemacs for Elixir programming and honestly, Emacs is slow, I would
often type commands and then wait for it to complete. I think some reboot like
Neovim did for Vim, could be beneficial as it is awesome editor, but it is
just too slow to start and slow to use.

It might be that Spacemacs layer is adding additional complexity, and maybe
going through Helm is the issue, I don't know, just it does take quite a bit
for it to catch up. In Vim, you really are plowing through at the speed of
thought.

~~~
weavie
I run on an eight year old Thinkpad. I run my own config now, but used
Spacemacs for quite some time. I've never had problems with speed. I didn't
use it with Elixir though.

Perhaps try disabling your layers one at a time to see where the problem is.

~~~
desireco42
I don't think it is Elixir, it is Helm most likely as someone already
mentioned. I am using Vim and Emacs and I do notice significant difference in
response to commands.

Helm is super helpful, so most likely I will disable it and see how it goes.

~~~
davidshepherd7
You could try looking at using ivy instead of helm. Not tried it myself but
there was a thread on the emacs reddit last week [1] where people said it's
much faster.

[https://www.reddit.com/r/emacs/comments/51lqn9/helm_or_ivy/](https://www.reddit.com/r/emacs/comments/51lqn9/helm_or_ivy/)

------
eof
I've used vim, pretty heavily customized, for almost a decade now. It seems to
me perfect, and if not perfect, I just change it so it's perfect.

I've been using pathogen for a while for plugins..

I will happily give 8.0 a try, but I have never used such perfect software
such as vim (and I also don't follow its dev cycle at all) I am really, really
surprised a new version came out. I figured I'd be using the same vim until
keyboards were completely out of style.

------
nerdponx
Is there feature/API parity between Vim 8 and NeoVim? I would hate to see the
community fragment and disintegrate.

~~~
vegabook
Neovim already fragmented the community. Bram seems to have stepped up to the
challenge bigtime since neovim announcement, as judged by his github activity
graph.

[https://github.com/vim/vim/graphs/contributors](https://github.com/vim/vim/graphs/contributors)

~~~
bwilliams
I wouldn't say he's stepped up. It's all a reactionary response to Neovim. I
dont think we'd ever have async in vim if it weren't for the neovim project.

That being said I hope they pull an io.js and merge taking the best of both
vim and neovim, whatever that may be.

~~~
baldfat
async VIM - We had it 4 years ago with VIM-Dispatch.

[https://github.com/tpope/vim-dispatch](https://github.com/tpope/vim-dispatch)

~~~
Leszek
Correction: Tim Pope managed to hack in a mostly-functional version 4 years
ago.

~~~
baldfat
Correction I linked Tim Pope's github page.

------
danielrm26
I submit my Vim Primer for your consideration.

[https://danielmiessler.com/study/vim/](https://danielmiessler.com/study/vim/)

Going to download and see what Prezto stuff breaks when I upgrade.

~~~
markdog12
Many thanks for this. I went through the whole tutorial and it was great.

------
weinzierl
Bram will give a talk about Vim 8.0 on Saturday at Vimfest in Berlin. I'm
looking forward to be there.

[1] [http://vimfest.org/#agenda](http://vimfest.org/#agenda)

~~~
weinzierl
From what I gather from the IRC discussion there will be no life stream but
the talks will be recorded.

------
HugoDaniel
I moved to nvi. Feels good to go back a notch and realise that you actually
don't need all of the other stuff to produce quality code.

~~~
pklausler
Me, I just wrote my own editor that works exactly the way that I want it to
work.

Every Jedi needs to build their own light saber, and come on, it's just 6KLOC
or so.

~~~
mod
Link a repo, I'd love to check it out.

I've never even considered what goes into making an editor.

~~~
Shoop
Not OP but
[https://github.com/pklausler/aoeui](https://github.com/pklausler/aoeui)

------
tombert
This is pretty rad. I've used Neovim for a few months now, but I always wanted
to keep using the "official" editor due to it's support on pretty much every
OS.

Async is basically the reason I used NeoVim, so it feels good to come back.

------
mbgaxyz
Here is the md5 checksum for the Windows binary (it's not shown on the
website): 2ea0e00657f0cabf2f314b8a8f794271

Windows: ftp//ftp.vim.org/pub/vim/pc/gvim80.exe

MD5SUMS: ftp://ftp.vim.org/pub/vim/pc/MD5SUMS

------
pacuna
I've tried nvim, sublime's vintage mode, atom's vim mode, visual code's vim
mode, jet brains' vim mode, spacemacs and always end up going back to vim. I
know it's far from being perfect. All of those other alternatives have
features I wish vim had but at the end there's just no comparison against the
flow you can get with something like tmux/vim/plugins

------
dominotw
anyway to get this on osx now

Readme seems incomplete

[https://github.com/vim/vim/blob/master/READMEdir/README_mac....](https://github.com/vim/vim/blob/master/READMEdir/README_mac.txt#L7)

~~~
yankcrime
If you're using Homebrew[1], then it's simply a case of:

$ brew install --HEAD vim

[1] [http://brew.sh](http://brew.sh)

~~~
dominotw

      cd /usr/local/Cellar/vim/HEAD/share/vim/vim80/compiler; chmod   644 *.vim README.txt
      -bash: cd: /usr/local/Cellar/vim/HEAD/share/vim/vim80/compiler: No such file or directory
      chmod: *.vim: No such file or directory
      chmod: README.txt: No such file or directory
    

Eh..I'll probably wait a little bit longer.

~~~
yankcrime
Just in case - I should probably have said "It's simply a case of $ brew
update && brew install --HEAD vim".

It's happily just compiled and installed for me.

------
Lio
I didn't see anything in the release notes but does anyone know if Vim 8 adds
true colour terminal support?

(I realise that NeoVim has this.)

~~~
anuragsoni
I haven't searched for vim 8 specifically. But starting with vim v7.4.1770
there was a `set guicolors` option.

Update: Looking at the version8.txt[1] on github, the option seems to be `set
termguicolors`

Change seemed to take place at version 7.4.1799[2]

[1][https://github.com/vim/vim/blob/master/runtime/doc/version8....](https://github.com/vim/vim/blob/master/runtime/doc/version8.txt)

[2][https://github.com/vim/vim/blob/master/runtime/doc/version8....](https://github.com/vim/vim/blob/master/runtime/doc/version8.txt#L11107)

------
limaoscarjuliet
The biggest power of vi for me is about it running on pretty much anything. If
it has a keyboard and a screen, it has vi.

While I usually stick to I, A, N+G, Shitf-ZZ and :q! only, I appreciate the
effort and keeping vi alive and well.

Big thanks!

~~~
Twirrim
Here's a useful one:

cnoremap sudow w !sudo tee % >/dev/null

Or from inside your editing session:

:w !sudo tee % > /dev/null

For when you find you've edited a file you don't own (e.g. config file) and
forgot to sudo first.

------
nulagrithom
Looks like there's a new :smile command

[http://vimhelp.appspot.com/index.txt.html#%3Asmile](http://vimhelp.appspot.com/index.txt.html#%3Asmile)

------
typon
Neovim for life. On my Mac it performs so much better than Macvim.

~~~
davb
I use tmux + vim on my Macbook and it runs really well! (vim built from
MacPorts).

~~~
elliotec
Have you tried tmux + neovim yet though? It's way faster and smoother in just
about every aspect I can think of. Strongly recommend it.

~~~
davb
I haven't but I've never had vim perform anything slower than perceptively
instant. Even on the lowest of specification virtual machines and servers I've
installed it on.

I'm not sure how, in my use case, neovim could improve upon vim. vim's fast,
available virtually everywhere, packaged with many OS's and distros, and has a
rich and active community. I'm not sure why I'd want to change.

Neovim seems like a fun project ("let's reimplement vim!") but it feels a bit
redundant, like a reimplementation for the sake of doing a reimplementation.
There's an intangible reason why vim is so popular and has such a following.
vim is well engineered, simple, and has been well cared for over the years. If
I'm integrating something so deeply into my workflow, electing it the main way
I interface with my code, it's going to be the 25 year old project that's
beyond reliable, has evolved conservatively and is ubiquitous. Ten years ago I
was writing code in the language du jour using vim, and ten years from now
I'll be working with the hot new language. In vim.

vim isn't a broken relic of the 90's, it's one of the best, most valuable
tools in my toolbox.

~~~
fatbird
Respectfully, given what you've said, you should look at neovim. It's not a
fun project to reimplement vim, it's a fork due to vim's (i.e., Bram's)
previous reluctance to advance vim with new features like async.

Since they've forked it, they've done an amazing job cleaning up the codebase,
modernizing the toolchain and implementing great async support, while
maintaining almost perfect compatibility with vim. They've also created a real
development community where many people participate equally, not just trying
to get the "bus factor of 1" commit bit holder to accept their patches.

I switched a year ago, brought all my plugins with me, and have seen only
improvements in performance and features. If I had to choose which would
survive for the next 30 years, it would be neovim. Thiego Arruda is the best
example of an open source leader. I have a deep respect for Bram Moolenar and
what he did with vim, but until neovim came along, vim was sclerotic and
getting worse. It speaks well of Bram that when real competition came along,
he returned to active development of vim.

------
owaislone
Great! I've been using neovim for the last year and it is pretty awesome. Hope
8.0 bring similar improvements to Vim as well. Hopefully, they'll merge back
some day but even if they don't, I think neovim is here to stay. It has had
amazing progress and so many contributions.

------
Tehnix
Kudos for finally getting async support! :)

That said, I feel like this is a perfect example showing off that the best way
(or a at least a very good one) out of stagnation of a piece of software is
competition. VIM was dead in the water for a very long time (aync support
looking at you), which is but one of the reasons NeoVIM was created, in turn
sparking VIM to actually get off its laurels.

I can't help but draw parallels to the Haskell community with stack and cabal-
install, to the people that might be familiar with that situation.

Anyhow, I guess I just wanted to also thank NeoVIM for pushing some life into
VIM again, besides having it more or less in maintenance mode.

------
hoodoof
I made the terrible error of trying to use vim as an IDE when I was learning
to program. Honestly I think it set my progress back 75%.

Don't get me wrong, I use vim all the time cause it's there on any machine I
log in to, but I found I was MUCH more productive when I paid for a good IDE
for development.

And YES I tried using all the plugins to make vim into an IDE. That was half
the problem.

------
hossbeast
Just gave neovim a try, and my favorite thing so far is that this command
works (but does not with vim and has always bothered me)

$ find foo | xargs nvim

~~~
mangamadaiyan
I thought find foo | xargs vim - did the trick?

------
daveloyall
In case you were looking for the Changelog:
[https://raw.githubusercontent.com/vim/vim/master/runtime/doc...](https://raw.githubusercontent.com/vim/vim/master/runtime/doc/version8.txt)

------
fiatjaf
Finally a "Save to Dropbox" feature!

------
Scarbutt
Does this new features means that vim can finally have lisp REPLs a la emacs?

------
yaasita
I created docker image.

docker run -it -e TERM=screen-256color yaasita/vim:8.0 vim

------
Zardoz84
Ok, and when would be for Cygwin ?

~~~
orthecreedence
You don't have GCC on your cygwin install?

------
dcu
you can find the release notes here:
[http://vimhelp.appspot.com/version8.txt.html](http://vimhelp.appspot.com/version8.txt.html)

~~~
sctb
Thanks, we updated the link from
[https://github.com/vim/vim/releases/tag/v8.0.0000](https://github.com/vim/vim/releases/tag/v8.0.0000).

~~~
geofft
That page is now unavailable :)

Maybe
[https://github.com/vim/vim/blob/v8.0.0002/runtime/doc/versio...](https://github.com/vim/vim/blob/v8.0.0002/runtime/doc/version8.txt#L35)
?

------
freewizard
the linked appspot site is 503 over-quota. anyone can change the url to

[https://groups.google.com/forum/#!topic/vim_dev/LaYdHDNzJcU](https://groups.google.com/forum/#!topic/vim_dev/LaYdHDNzJcU)

or

[http://www.vim.org](http://www.vim.org)

~~~
sctb
Thanks, we updated the link again.

------
qwertyuiop924
Oh Vim...

If you're going to lightweight and vi-like, than do that. If you're going to
go the Emacs route (and if you're adding async, packaging, and lambdas, make
no mistake, you're starting in the steps to building an inferior Emacs), than
get a half-decent extension language. Or just up and die. We don't need a Vi
clone that does the Emacs thing, we've got Evil/Spacemacs for that.

~~~
Lio
The thing is, having tried Evil/Spacemacs, they're still really Emacs not Vim.

At some point you have drop out of the pseudo Vim world do things the Emacs
way, keybindings and all.

For me personally, that's not what I want.

e.g. I like to use C-h as an alternative to backspace, it helps relieves my
RSA not have to reach for backspace. Spacemacs provides that binding in some
places but not all.

To get get C-h to consistently act as backspace I ended up effectively
breaking the help system (which for an Emacs newbie like me is a bad thing).

I found loads of other things like that where I just want it to work the Vim
way.

What I _really_ want is a better Vim not another editor pretending to be Vim
on a superficial level. I'm glad to have the options that both Vim 8 and
NeoVim offer.

Of course Emacs is an amazing bit of software and Spacemacs is a great
configuration so if they work for you, more power to you.

~~~
kozikow
> At some point you have drop out of the pseudo Vim world do things the Emacs
> way, keybindings and all.

or many packages there are many "vim-optimized" packages nowadays, e.g. evil-
ediff, evil-org or evil-magit.

> e.g. I like to use C-h as an alternative to backspace, it helps relieves my
> RSA not have to reach for backspace.

I would do such remapping on the system level. E.g. I personally have my
layout implemented in C++ on system level:
[https://github.com/kozikow/keyremaplinux](https://github.com/kozikow/keyremaplinux)

> I found loads of other things like that where I just want it to work the Vim
> way.

In Emacs in general it's easier to customise to do things your way. After a
bit investment into learning elisp you can make it work however you want,
including vim way. vim is not as customisable.

~~~
Lio
Yeah I'm pretty sure Emacs can be made to do anything.

I love that idea and I keep telling myself I'll go back and give give it
another try sometime. Would love to get really into org-mode, etc.

It's just that Vim is so comfortable! ...like a nice old pair of Goodyear
welted shoes.

~~~
qwertyuiop924
As much as I've been complaining about Vim in this thread, I don't think it's
evil, or anything. But I do love Emaca as much as you love Vi, for much the
same reasons (although some of those one character commands make me envious).
You could always use both (the non-religious option).

Come to the dark side. We have macros.

~~~
Lio
OK I'll make you a deal, as soon as I've mastered every feature in Vim I'll
move on to Emacs. :)

Which reminds me, I must reread that stackoverflow post about grokking vi
again.

[http://stackoverflow.com/questions/1218390/what-is-your-
most...](http://stackoverflow.com/questions/1218390/what-is-your-most-
productive-shortcut-with-vim)

~~~
qwertyuiop924
That's an incredibly useful post.

Anyways, I only suggested it because you seemed interested. There's certainly
no requirement to do so. And since you'll never master every feature in Vim,
you'll never use Emacs if you have that requirement.

The sad thing about Vi is its Lisp mode: the original Vi had a pretty nice
mode for editing Lisp, which most clones have not recreated.

