12 ms·
What's New in Neovim 0.10
- deleted 2y ago[deleted]
- nallerooth 2y agoThis sounds like a really awesome release, well done!
- LeSaucy 2y agoI am curious if any of the termsync options can make neovim play nicely with mosh. My dream setup is to be able to spin up preconfigured dev environments in docker containers, and use blink shell on my iPad for on the go coding. Unfortunately mosh and neovim always end up with display corruption.
- cyberpunk 2y agoI used to use blink quite a lot on my iPad and I’ve noticed it really going “weird” lately. They have some script that executed on login, which tried to “upgrade” my connections to mosh by downloading a static mosh bin from some server they own (so, could contain anything) and it was opt out — and lately randomly some keys just stop working on the keyboard (like, the c key just doesn’t work at all in the app). I jumped ship to Termius, shame. How’s your experience lately?
- linsomniac 2y agoDoes wezterm work on iPad? I used to use mosh+tmux for remote coding, but a couple years ago switched to wezterm which includes some builtin mosh+tmux like capabilities directly in the term so it's truly first-class remote terminal functionality.
- Affric 2y agoPretty much exactly what is needed. Helix shows the way IMO but the Neovim guys are clearly not conservative. Exciting to see the tree sitter and lsp improvements.
- imjonse 2y agoIncluding more basic (as of 2024) features in the core like Helix would indeed be a good idea but would go against the existing culture of vim with many plugins competing.
- deleted 2y ago[deleted]
- linsomniac 2y agoThat's why I went with LunarVim, I was tired of maintaining my own plugins and configs, and wasn't quite ready to fully jump ship to Helix (though I do like the direction Helix is going, it'd be an easier sell if shells and everything had Helix keymaps).
- lawn 2y agoQ or @ to execute a macro over all visually selected lines is a feature I didn't know about but sounds amazing. All too often I create a macro that I want to execute many times, but it's hard to know how many. I've tried the guessing approach but that has a tendency to under- or overestimate.
- bitdivision 2y agoYou might find relative line numbers useful. `set relativenumber`
- lawn 2y agoI already use relative line numbers but they don't help when the lines continue below the window.
- kevincox 2y agoMy general approach for macros that I want to execute many times is to end by going down a line (for sequential lines) or to end with a search for the next place that the macro can run. Then I can easily review the targets and run or skip on each.
- linsomniac 2y agoI'll often visual select ("v" and motion) and then ":norm @a" to run the macro on all the selected lines.
- v3ss0n 2y agoWe need proper Neovim gui that is officially maintained
- trip-zip 2y agoWhat's the use case for a separate GUI for neovim? I remember using macvim for a few days maybe 8 years ago, but I never "got it". It felt like the benefits of having my editor in my terminal were thrown out for little return.
- doix 2y agoIf neovim had a proper gui, you could move away from some of the limitations of the terminal. The biggest being using fixed width characters for drawing UI elements. Emacs does it pretty well, one of the few things that makes me jealous of emacs as a vim user.
- kevincox 2y agoIIUC fixed widths is more than just a UI problem. Lots of internal code is assuming that. But maybe it works well-enough that it isn't a real issue. I remember trying a terminal that didn't have fixed char widths and it mostly worked. The only real issue was line wrapping (as vim and the terminal would both wrap based on how long they considered the line to be). So maybe it would be possible! I would love to see solid support for variable-width fonts. I know variable-width fonts are controversial, but I actually think they work well for coding but haven't had the chance to use them much due to Vim limitations. But especially for Markdown and similar mostly-text content they seem like a clear win.
- bbkane 2y agoI'd really like image support in a Neovim GUI. It'd make markdown editing easier for me
- Macha 2y agoSeems more likely to be something you implement with e.g. kitty/iterm/sixel escape codes than moving to a GUI app. Actually probably is something that could be implemented in neovim today. Maybe even by a plugin, not sure what control they have over stuff like that.
- xutopia 2y agoI love seeing the development of an amazing modern replacement for Vim. I look forward to the moment where it has tons of plugins that are as easy to install as VSCode extensions are.
- nerdix 2y agoThat's pretty much already possible today with nvim distros like lazyvim.
- flexagoon 2y ago> I look forward to the moment where it has tons of plugins that are as easy to install as VSCode extensions are. There is already a ton of plugins. As for the ease of installation, the "traditional" plugin managers just require you to add one like to your config to install a plugin, which is pretty simple. But there's also a new plugin manager called Rocks.nvim, which installs plugins from Luarocks with a single command (eg ":Rocks install telescope")
- kevincox 2y agoWow. Almost all of these are things that I will be using right away. It's not often that a release, especially one for software that has lineage back decades, is so relevant to my use cases. I already had `K` set to LSP hover. I just switched my comment plugin to get something LSP aware. Hyperlinks can be a bit annoying. Because sometimes the line wraps so default terminal auto-linking doesn't work properly. Having explicit metadata will be excellent. I already had inlay hints enabled, but they would appear at the end of the line. Having these in the right place will be fantastic. `gx` open is not something that I was already using but I will probably start using this.
- wonger_ 2y agoI feel exactly the same - I've never been so pleasantly surprised by release notes. Immediate wins for current users. And hopefully these builtin QOL features will make nvim easier for new users.
- yoavm 2y agoNeovim is great and is my daily driver for a couple of years now. I was really looking forward to 0.10 because the roadmap said "multicursor", and that's the only thing that sometimes make me open Sublime Text, but it seems like it was more complex to implement than originally estimated and so it was now pushed to 0.12 (https://neovim.io/roadmap/ https://neovim.io/roadmap/).
- strangelove026 2y agoNoticed this also. Truly the only reason I still open up vscode. And repo find / replace. Otherwise Switched to nvim full time about 5 months ago, can do everything and more ha
- Zizizizz 2y agohttps://github.com/nvim-pack/nvim-spectre https://github.com/nvim-pack/nvim-spectre Is a great find and replace plugin for your repo. so is quick fix list + `:cdo s//gc | :cdo update`
- wonger_ 2y agoI used to want multicursor as well. But I heard a recommendation that multicursor is not "the vim way", and instead to use macros or regex search-and-replace or visual-block mode. That's worked for me. Of course multicursor must be commonly requested for a reason. Just passing along some alternatives.
- ratorx 2y agoI think multicursor vs macro is basically a case of whether the feedback is instant, rather than delayed. Multicursor (in other editors) is a lot better, because you don’t have to think about which exact motion to use as much (since you can see it as you do them). On the other hand, macros and vim motions are a lot more general, but require you to think about the exact motions a lot more ahead of time. I think substitution (and command) previews (vs not having these features when substituting) is a good parallel to what multicursor adds over just macros.
- bbkane 2y agoWow, I love that so much stuff is coming to core! Every once in a while for the last few years I overhaul my Neovim config and try to add all the new goodies (commenting, LSP, etc., that are table stakes for most IDEs) as plugins using the latest and greatest plugin manager. That works for a while, but like clockwork, something breaks- a plugin updates incompatibly, Neovim updates incompatibly, an external binary the plugin relies on updates incompatibly... At this point I'm stuck with a broken IDE and I don't have the energy to debug all the moving parts. I suffer for a month or something and then restart the cycle. For my latest config, I decided to treat Neovim and "just a text editor" and made a much smaller config ( https://github.com/bbkane/dotfiles/tree/master/nvim-03-lazy https://github.com/bbkane/dotfiles/tree/master/nvim-03-lazy ). It's been really nice having something that "just works" for text edits and using VSCode for heavier IDE tasks. I WANT to use Neovim for more complex tasks, but I also want a simple config that "just works". I'm really excited that the core devs seem to agree and are adding tablestakes features to core- the new default colorscheme, Treesitter WASM, and better commenting will all make my config even simpler! At some point I might even try LSP integration again!
- tristan957 2y agoI haven't used it, but vscode-neovim might give you the best of both worlds.
- marinhero 2y agoHave you tried using an nvim distribution? They take care of all the plugin loading, config and testing. They stay reasonably updated too.
- azemetre 2y agoWhen I first started to learn how to program I was following along a basic tutorial by Jeffrey Way and his first sentence was "We're going to use vim." That tutorial, whose topic I can't even remember now, set me on a path for my professional career. During 2012-2015 there seemed to be way more competition in the editor space before VS Code gobbled the community mindshare. I remember starting my first professional job and having a coworker to keep pressuring me to use vim because he used emacs and wanted to argue with someone about emacs in the office (all in good fun I assure you :D). I think I started using nvim when 0.2 was release, but then I didn't really do much more with my rc file than what vim offered. When neovim enabled plugin authoring with lua that's when it felt like the magic of neovim started to click for me. Plugins like telescope, harpoon, and fzf changed the way I fundamentally work now. Although I think my favorite thing about neovim is watching other people use neovim, I'm always learning new workflows to introduce into my workflows. It sounds tiring, but it doesn't feel tiring if that makes sense? Really excited to see inlay hints natively as that's something I really struggled to configure myself.
- celie56 2y agoI love watching others use Neovim and that's how I learned more about the LSP / treesitter integration. I still find that VS Code is my recommendation for new contributors to an existing codebase because of how intuitive it is to resolve problems solo. If I want to debug a change in an existing project I will almost always reach for VS Code due to the integration with build systems (CMake for example) or other tools. That said, I find that I do "real work" in neovim: thinking, exploring, or writing this reply. If I were to teach someone from the beginning I would still recommend (neo)vim.
- zabzonk 2y agoback in the early 1990's i worked for a commercial training company (The Instruction Set) and the first day of our "Programming In C" course normally went something like this: me: we are using these beat-up terminals trainees: is this what we are paying for? me: we will be using unix (no linux easily available then) trainees: but we use VMS! me: and we will be using vi to edit our programs trainees: wha??? ....a week passes trainees: actually quite neat! i really like vi
- tiffanyh 2y agoRelease Notes (Neovim 0.10): https://neovim.io/doc/user/news-0.10.html https://neovim.io/doc/user/news-0.10.html
- edvards 2y agoAm I the only one who doesn't like the new color scheme that much? It seems that it just plainly removes all the syntax highlighting more or less.
- ms-menardi 2y agoI like bright and bold colors, vibrant and flavorful. these colors feel pastel, weak, and faded. I don't like them.
- kzrdude 2y agoFunctionally it's good - adapts to both light and dark background, adapts to both 256 and truecolor terminals. I think I miss some of the color even if bright color in light background themes is often detrimental. Only real dislike is the too gray tinted background. Should be more towards white for light background, to be more neutral.
- pynappo 2y agoyou might want to try linking @variable to Identifier, i think the original author decided to keep @variable unhighlighted to keep the color diff between having `termguicolors` on/off to a minimum (Identifier assumes `termguicolors` is enabled, but for default colorscheme it's likely not always the case). see https://github.com/neovim/neovim/pull/26334 https://github.com/neovim/neovim/pull/26334 and the comments in highlight_group.c
- laktak 2y agoI tried to switch to nvim but quickly discovered that there are breaking changes that just don't work for me, like system() not being interactive and having to use term. nvim might be great for some but it's not a vim replacement, it's a different editor with different drawbacks.
- bbkane 2y agoIts a fantastic vim replacement for most people I think. My Vim -> Neovim migration was simply using the new binary with the same vimscript config, I was really impressed.
- kps 2y agoIs `!` still broken? Last I looked there seemed to be resistance to fixing it.
- laktak 2y agoYes, ! has the same issues as system() which I'd need to integrate with lf.
- fh9302 2y agoFor some reason vim-airline in combination with neovim 0.10 has really bad performance when scrolling large files. This doesn't happen with neovim 0.9 and regular vim.
- ephimetheus 2y agoSupport for inlay LSP hints is the big one for me here. That’s mainly what’s kept me from switching over from vim so far.
- rane 2y agoHow does it keep you from switching from vim when vim does not have it?
- ephimetheus 2y agoIt does have it though. Been using it for at few years already with coc.
- lawn 2y agoCoc works with Neovim too if that's the logic.
- ephimetheus 2y agoI know, but previously, the inlay hints would be displayed at the end of the line in Neovim, making them near useless.
- lawn 2y agoHuh, does it work inline in Vim with Coc?
- ephimetheus 2y agoYes that’s right!
- WhyNotHugo 2y agoVim has had inlay hints for a while now, whereas neovim has had it for like 3 days. I think that this is what GP was referring to. Both vim and neovim have LSP support (the former via plugins).
- xbar 2y agoThank you Mr. Anders.
- xyst 2y agoI have been transitioning my workflow from macOS to Linux. Discovered it’s kind of pain in the ass to get a gui based editor like Intellij to work correctly, especially within a VM. Happened to have discovered neovim, and so far it’s been a delight to use. Much faster and much lighter on resource use. Do any neovim veterans have recommendations on plugins to enable? Or even hidden features that would improve workflow.
- lawn 2y agoThere are many great plugins. Telescope, nvim-cmp, treesitter are standard recommendations. I'll give a shout-out to conform.nvim that gives you very solid format on save functionality that's also easy to setup: https://github.com/stevearc/conform.nvim https://github.com/stevearc/conform.nvim
- mdaniel 2y ago> Discovered it’s kind of pain in the ass to get a gui based editor like Intellij to work correctly, especially within a VM. Depending on your use-case, that's what their Gateway product <https://www.jetbrains.com/remote-development/gateway/ https://www.jetbrains.com/remote-development/gateway/> is designed to solve: it runs (effectively) headless IJ in the VM, so indexing and analysis happens there, and then streams the GUI part over a custom protocol to your local IJ to handle the time-sensitive GUI bits Currently, to the best of my knowledge, they actually do require ssh, so it won't work over AWS SSM nor kubectl exec or similar, but I have high hopes they're going to fix that glaring bug Any Minute Now ™ see also: - https://www.jetbrains.com/help/idea/remote.html https://www.jetbrains.com/help/idea/remote.html - https://jetbrains.github.io/projector-client/mkdocs/latest/ij_user_guide/jetbrains/#use-cases https://jetbrains.github.io/projector-client/mkdocs/latest/i... - https://github.com/JetBrains/projector-docker#run-jetbrains-ide-in-docker https://github.com/JetBrains/projector-docker#run-jetbrains-...
- xyst 2y agoBut I still need to have the gui app installed correctly with opengl/hardware acceleration enabled , right? My problem isn’t with inconsistent development environments. I have trouble spinning up the IntelliJ ide locally. Thus the need for something more lightweight. Also I have used this in the past and the experience wasn’t the greatest. Tried with a dev server with gateway hosted within intranet. Used an m1 Mac as thin client. Issues with syncing state of client. Significant input lag in a large project. I remember trying to refactor a method in a 500K+ LoC and the UI would hang. Syncing plugins was also an issue at the time. I suspect these issues would likely be exacerbated over internet with tailscale
- _odey 2y ago"Nvim 0.10 can now use the OSC 52 escape sequence to write to (or read from) the system clipboard." This is a big deal! (it shouldn't be, but it is) My main complaints about vim/emacs in the past was at the sheer complexity of getting something that should not even be a concern (clipboard integration) working properly, when other text/code editors did not have this problem at all. Searching online, it seems like tmux has some nice documentation related to OSC 52 usage: https://github.com/tmux/tmux/wiki/Clipboard https://github.com/tmux/tmux/wiki/Clipboard I will be playing around with this for a bit to understand it more. But honestly, this is the sort of thing that should "Just Work TM". "VTE terminals (GNOME terminal, XFCE terminal, Terminator) do not support the OSC 52 escape sequence." https://gitlab.gnome.org/GNOME/vte/-/issues/2495 https://gitlab.gnome.org/GNOME/vte/-/issues/2495 That's a shame, but I'm not against using a different terminal emulator. Up until now I did not really have a good reason to.
- tasuki 2y ago> My main complaints about vim/emacs in the past was at the sheer complexity of getting something that should not even be a concern (clipboard integration) working properly What problems have you encountered? I have the following shortcuts in my .vimrc: vnoremap <Leader>y "*y noremap <Leader>p "*p vnoremap <Leader>c "+y noremap <Leader>v "+p Space + y/p is the copying/pasting from/to the "primary selection" (the mouse middle click). Space + c/v is copying/pasting from/to the regular ctrl+c/ctrl+v clipboard. This... just works for me?
- urxvtcd 2y agoMy solution is to have this snippet in my vimrc. Don't ask me why this works. It's been years, and I had no issues with it. " System-agnostic setting making the unnamed clipboard register act like " clipboard in any other editor. Copy with y commands, and paste with p or P. if has('unnamedplus') set clipboard=unnamedplus,unnamed else set clipboard+=unnamed endif Beside this, there is also the issue of setting paste when pasting in insert mode.
- ilrwbwrkhv 2y agoFantastic release. The neovim project is one of the best recent projects I have seen. It tries to make things look hot by default instead of trying to look "open source".
- morning4coffe 2y agoExciting to see Neovim 0.10 bringing so many core features! And although I don't use it daily now, I believe it's a game-changer for many. Kudos to the team for keeping it evolving!
- jarbus 2y agoLove neovim, great to see more parts already in my config coming to core. Maybe one day most of us won't even bother with plug-ins :)
- durandal1 2y agoThe ultimate proof that Neovim has a healthy team of contributors, is that they successfully agreed on a new default color scheme. I am now convinced they can succeed with anything.
- nicce 2y agoThe proposal from a brave soul: https://github.com/neovim/neovim/pull/26334 https://github.com/neovim/neovim/pull/26334
- jthemenace 2y agoNext up, tabs vs spaces!!!
- AltruisticGapHN 2y agoIs there a modern equivalent of MacVim on Linux ? Gvim is OK though the Ux (tabs etc) looks dated.
- nicce 2y agoneovide.dev ?
- quux 2y agoLSP inlay hints is so nice. Instant upgrade just for that :D
- scutrell 2y agoAs a decade long vim user, I just gave nvim a try this year, and I really wanted to like it. In most every way it is a straight upgrade, but I find myself kind of bummed out that it is still so barebones on install. Really, I was hoping that something like Lazyvim would be the default because I would love a more "out-of-the-box" solution. I don't want to have to worry about keeping the LSP etc. up to date. So instead, I've been looking more into Helix. Still not sold on the bindings, but what you get just by installing it is great.
- behnamoh 2y agoyou should use neovim distributions like LazyVim.
- scutrell 2y agoI did use Lazyvim. It was definitely better (though I spent a fortune in time modularizing is plugins). It just doesn't feel like a great solution for a variety of reasons. You're still a little on the hook for plugins and LSP configs. You're beholden to the distro e.g. if Lazy ever grows obsolete, Lazyvim could go too. In a perfect world there would be a neovim core (what it is now) and a formal neovim distro.
- kzrdude 2y agoThere's just a lot more innovation and development in the offshoot projects than in the big projects. The main project is gradually agreeing on /some/ default key bindings for lsps, as seen in this release (core does a great job on neovim no offense meant there.) In the same time, LazyVim and AstroNvim have built whole worlds of configuration and LSP integration because they are free to tinker, at a speed far outpacing core neovim. Because the core project wants/needs to cater to everyone. Even you said it was a straight upgrade (to Vim, I assume) and just keeping it that way is not easy.
- WuxiFingerHold 2y ago> You're beholden to the distro e.g. if Lazy ever grows obsolete, Lazyvim could go too. That is my only concern, too. But I decided not to worry. Getting into LazyVim was very easy, so I'm not concerned potentially having to switch to another distro or IDE.
- jasonpeacock 2y agoFor everyone asking for more IDE features...that's literally a non-goal for Neovim: https://neovim.io/charter/ https://neovim.io/charter/ Neovim aims to be extensible and enable plugins to do amazing things, but also be minimal. There are many projects that use the rich set of plugins to provide IDE experiences (LazyVim, AstroNvim, LunarVim, etc).
- WhyNotHugo 2y agoI like those goals, and some of the new features seem to contradict that mentality. E.g.: the commenting feature in core. This could perfectly well be done by extensions, and it the kind of thing that doesn't feel like it should be in core at all.
- vander_elst 2y agoEvery ~6 months I try to switch from vim to nvim, but somehow it never sticks. Not sure why but in my use cases it is slower than vim, the terminal is imo still worse than vim and it s harder to copy and paste to the terminal: in vim I yank and than C_W"0 (or whatever register I need) in nvim I didn't find a solution yet. Nvim always feels more clunky.
- phplovesong 2y agoAwesome release! Ditching my colorschemes and going for the default one. Looks like i can drop even more deps like vim-commentary, and i can remove some keybindings that now come as default! Neovim keeps getting better and better!