Hacker News new | past | comments | ask | show | jobs | submit login

If you're wondering why you might want to use this instead of just launching Neovim directly in a terminal, then for me the answer is performance. Everything is silky smooth, much smoother than in Kitty/Alacritty. And to disable those annoying animations, just put this in your config.

  vim.g.neovide_cursor_animation_length = 0
  vim.g.neovide_scroll_animation_length = 0



How do you handle multiple projects at the same time, with a tiling window manager? The nice thing about the terminal is the possibility of having layouts, tabs and so on. Or using tmux/zellij with a terminal that doesn't support these more advanced features.


As a data point, I'd like to chime in here. I have been a 15 year user of tmux (and screen before that) and never thought I'd change my development habits. Over the holidays I decided I would do one of those once-every-five-years upgrades to my vim setup as I had accrued dozens of vendored plugins in normal vim and wanted to see what the big deal with neovim was.

I bit the bullet and evaluated some of the "distributions" (AstroNvim and kickstarter) and played around with all the new lua plugins that I had never thought I needed (why use telescope when FZF-vim worked so well?).

Anyways, after a month of tweaking and absorbing, I found myself running Neovide only, and doing something I never thought I'd see, running tmux from within neovim/neovide. I think this only works (for me) because of session management (there are half a dozen plugins for handling quickly changing 'workspaces') and because the built-in terminal (with a very useful plugin called toggleterm: https://github.com/akinsho/toggleterm.nvim) works so well.

I have not stopped using tmux and layouts, and it sits in another fullscreen iterm2 workspace, but I find that I now spend 90% of my time using a fullscreen neovide and summoning/toggling tmux momentarily for running commands.

Of course, the caveat here is that my preferred mode of operation is being fullscreen as often as possible. I think if your preferred mode of operation is to always see splits then running neovim from the terminal within tmux is still the way to go.

As for why I like neovide? I find the animations, when tweaked to be less 'cool' are extremely useful to see where the cursor jumps to. I am also a huge fan of the fact that I can finally use 'linespace' to put some space between my lines of code -- it is an aesthetic I didn't realize I wanted.


> Of course, the caveat here is that my preferred mode of operation is being fullscreen as often as possible. I think if your preferred mode of operation is to always see splits then running neovim from the terminal within tmux is still the way to go.

Oh interesting, it sounds like it can't do permanent splits? Very odd to me.


I just open multiple Neovide instances. In each instance I usually have the screen split in the middle (two buffers at the same time), with the one on the right often replaced with the built-in terminal emulator.


Isn't that just the same as any other program? If you group your projects into workspaces/tags/virtual desktops.

If your workflow is already entirely terminal-oriented with something like Tmux, then yeah, this won't really fit into your workflow.


I don't get the point of tmux when you're running locally. We have a desktop environment whose entire point to to manage several instances on your screen already. Isn't it better than using a multiplexer?


I use a quake style terminal. Hit f12 and the terminal appears no matter what desktop is focused.

If I didn't use that I could definitely see just using my tiling window manager to manage splits.

But as it stands I want all my terminals to appear and reappear with one key combo.


I've actually found the animations helpful even thought was initially skeptical: Because it visualises the vim motions it makes it much clearer what is happening. Especially if you make a mistake you'll see it much more clearly what it actually did. Also when making longer cursor jumps it is easier to see where it went.

I'm sure they will help a lot also when learning Vim for the first time.

But the be fair, the default animations are bit much but they can be toned down.


I just tested again after a while.

Input latency is very notably worse than in the terminal, at least on Linux + sway. (alacritty or kitty)


If you reduce the cursor animation duration or disable it, the latency improves quite a bit.


Yeah I set the animations to zero, the latency is still quite a bit higher.

One of the main reasons I use neovim is because everything feels so instant.


Why does the cursor animation dictate input latency?


Not involved in the project, but it looks like it doesn't render the character until the cursor arrives at the location the character belongs at.


Sublime is the king of latency IME


I actually liked those animations and enabled a similar functionality in VSCode:

        "editor.cursorSmoothCaretAnimation": "on",


As an alternative, try foot. I love that terminal, it just works.




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

Search: