10 ms·
Neovim 0.9
- wadd1e 3y agoCongrats to the Neovim team! I know one complaint that people tend to have with nvim is that they can never get to a stable config that they don't need to keep tweaking; I used to be one of those users that kept making changes to their config but I've had a stable config for roughly 6 or so months now and I've been loving neovim and the fact that it's personalised exactly to my liking. So what I'm trying to say is that there's hope for those who are still in the depths of the configuration rabbit hole :)
- mattrighetti 3y agoAny chance your config is public? I always find cool new stuff when I look at other people’s nvim configs
- henry_viii 3y agoYou can check out these public configs: - https://github.com/NvChad/NvChad https://github.com/NvChad/NvChad - https://github.com/LunarVim/LunarVim https://github.com/LunarVim/LunarVim - https://github.com/AstroNvim/AstroNvim https://github.com/AstroNvim/AstroNvim All of them have a Docker command where you can try them out in a container. awesome-neovim has more configs: https://github.com/rockerBOO/awesome-neovim#preconfigured-configuration https://github.com/rockerBOO/awesome-neovim#preconfigured-co...
- lr1970 3y agoDon't forget a raising star of LazyVim [0] of lazy.nvim fame [0] https://www.lazyvim.org/ https://www.lazyvim.org/
- AlexSW 3y agoOP didn't reply, but here's my set of dot-files in case you still wanted to have a gander at someone's. You can find the Neovim configuration in the neovim directory. https://github.com/AlexSWall/dot-files https://github.com/AlexSWall/dot-files
- weakfish 3y agoAnd here is mine - it’s goal is parity with VS Code, but in a single file that’s well organized (based on kickstart.nvim) https://github.com/weakphish/dotfiles/blob/master/.config/nvim/init.lua https://github.com/weakphish/dotfiles/blob/master/.config/nv...
- noloblo 3y agoUse Space vim Astrovim or Lunar vim
- hauxir 3y agoi actually solved this by moving my whole dev environment into a reproducible Dockerfile. Can see it here https://github.com/hauxir/dotfiles/blob/master/devenv.sh https://github.com/hauxir/dotfiles/blob/master/devenv.sh then i can simply run it anywhere that has docker with a curl/bash script :) can run it by running . <(curl https://haukur.io/shell https://haukur.io/shell) in bash
- gorjusborg 3y agoCustom config is not necessary to leverage vim or neovim effectively. This is a personal usage issue. The fact that you can customize it doesn't mean one needs to, or should. I run with a mostly vanilla config and a few plugins and have not had to change config for years.
- kzrdude 3y agoI would suggest everyone to use a neovim plugin manager that has a lockfile, like lazy.nvim, and check in the lockfile. This adds stability.
- eterps 3y agoI began utilizing Vim approximately three decades ago, and experiencing a contemporary tool like Neovim still feels incredibly astounding.
- quesera 3y agoAs a counterpoint of sorts, if you are accustomed to vim, moving to neovim entails almost zero switching friction. Everything works just like it's supposed to. In fact sometimes I get neovim instead of vim (when I run "vi" from the shell) and I don't even notice. I have a fairly simple vim config. I'm sure this means that I'm missing out on all the great new things about neovim, and maybe I'll get there some day. But I am happy with how vi/vim/neovim work reliably and consistently every time.
- plugin-baby 3y ago> moving to neovim entails almost zero switching friction As a counter-counterpoint: I tried switching to neovim a couple of weeks ago, and gave up after half a day trying to get syntax highlighting working.
- worksonmine 3y agoStrange considering neovim has syntax=on by default and it's not even needed in the config. What distro are you using?
- quesera 3y agoI love that the usernames of the two parent comments are so fitting: plugin-baby: (complicated setup?) I see errors worksonmine: WFM No disparagement intended. I'm sure you're both right. My vim config is simple, and neovim handles it well. Including syntax highlighting (some custom). I don't like some of the defaults as much as what shipped with vim, but I know I could configure them out if I cared enough.
- 3y ago
- pydry 3y agoFor people who have used helix and neovim recently, how do they compare?
- manaskarekar 3y agoStating the obvious - the edit modes are fundamentally different and helix doesn't have a plugin ecosystem yet. Helix uses the kakoune model: vi basic grammar is verb followed by object; it’s nice because it matches well with the order we use in English, "delete word". On the other hand, it does not match well with the nature of what we express: There is only a handful of verbs in text editing (delete, yank, paste, insert… ), and they don’t compose, contrarily to objects which can be arbitrarily complex, and difficult to express. That means that errors are not handled well. If you express your object wrongly with a delete verb, the wrong text will get deleted, you will need to undo, and try again. Kakoune’s grammar is object followed by verb, combined with instantaneous feedback, that means you always see the current object (In Kakoune we call that the selection) before you apply your change, which allows you to correct errors on the go. Source: https://kakoune.org/why-kakoune/why-kakoune.html https://kakoune.org/why-kakoune/why-kakoune.html
- quesera 3y agoThis is a great point, although of course vim does let you visually select before verbing a chunk of text. Useful for cases where your object spec doesn't fit into the easy categories of character/word/block/etc. I'm not familiar with the Kakoune or Helix selection UX, but it's keystroke-economical in vim (of course).
- KapKap55 3y agoHow is this different than Vim's visual/visual-line/visual-block modes? Other than the mode now being the default behavior, that is.
- leephillips 3y agoAs I recall from trying this out a while back, it’s different mainly in being less powerful and flexible. In [n]vim you can combine these selections with all the vim grammar, including, essentially, its text objects.
- yanis_t 3y agoI just realised that I'm using Neovim despite there are no nvim-specific plugins in my config (CoC covers most of my needs), and I don't use lua. Still is feels like Neovim is more stable and faster than the regular Vim somehow. Plus it has much better defaults.
- ilovecaching 3y agoI use default vim, I believe it was a mistake to fracture the ecosystem with plugins that can only be used with neovim. I have also not found any neovim functionality that sells neovim over vim. Vim is fast enough that I have never even thought about it's speed. With term, termdebug, fzf, ripgrep, and ALE with LSPs and Vim's excellent built in support for auto-completion, tag browsing, and cscope, there's really nothing I can't do in another editor I can't do faster in vim and as a bonus I find that I know more about regular expressions than most IDE programmers.
- gpanders 3y ago>I believe it was a mistake to fracture the ecosystem with plugins that can only be used with neovim. I hate to break this to you, but Vim itself is in the process of converting its runtime files into Vim9script (which is Vim specific), and many new Vim plugins are also being written in Vim9script. Neovim has always supported "traditional" Vimscript, and has ported all runtime file changes from Vim (think filetype plugins, syntax highlighting, etc.). In fact, we explicitly request that any runtime file changes first go through Vim precisely because we want to keep the two projects aligned. But the more that Vim transitions to Vim9script, the less can be shared between the two projects. So unfortunately the "fracturing of the ecosystem" is not specific to Neovim.
- ilovecaching 3y agoI don't think the onus is on the original project to maintain compatibility with a fork. Neovim made it pretty clear from the beginning that they were going to fracture the ecosystem and now we have colorschemes in Lua that can't be used in vim... say what you will about Emacs, but at least all of their distros can run the same code. From my perspective as a vim user, neovim has only made my life worse by splitting plugin authors into two camps without any real benefit over what we had in vim. The only good thing about neovim is it caused some nice features to be added to vim, which the neovim authors could have just contributed themselves without trying to fight for control of the ecosystem with Bram. Neovim has really just made things worse for everyone.
- codewiz 3y agoNeovim 0.9.0 release notes: https://github.com/neovim/neovim/blob/v0.9.0/runtime/doc/news.txt https://github.com/neovim/neovim/blob/v0.9.0/runtime/doc/new... GitHub release page with build artifacts: https://github.com/neovim/neovim/releases/tag/v0.9.0 https://github.com/neovim/neovim/releases/tag/v0.9.0
- sauercrowd 3y agoDoes anyone have a TLDR/highlights of the release?
- adambyrtek 3y agoSee https://github.com/neovim/neovim/blob/040f1459849ab05b04f6bb1e77b3def16b4c2f2b/runtime/doc/news.txt https://github.com/neovim/neovim/blob/040f1459849ab05b04f6bb...
- bilalq 3y agoI'll kind of hijack this thread to ask a support question: I often use neovim within the terminal in VSCode. Lately, I've had issues with the cursor becoming invisible while in normal mode. The line cursor works as expected in insert mode. Changing the settings for cursor style in VSCode temporarily fixes it, but the problem comes right back when I transition to insert mode and come back to normal mode. Anyone have any suggestions for a fix?
- deleted 3y ago[deleted]
- favadi 3y ago> EditorConfig support is now builtin. That's great, one less plugin to install.
- kzrdude 3y agoHow do you all install neovim on Linux? The .deb is gone with this release, which I think was the most orderly way to fit into my install. I think I'll want to find a PPA solution now. I am not a fan of installs that are not reversible.
- brotherjerky 3y agoWe are stuck with the app images now it seems
- merrickluo 3y agoYou should get a better package manager/distro. With emerge or pacman, it's easy to find/write your own ebuild/pkgbuild, way better than adding ppas.
- kzrdude 3y agoFair. I'll soon give asahi a try on a refurb mac, so then I'll be try arch style package management. Not sure if adding ppas is the problem, i think that's ok, but making packages when none exist is more of a hassle.
- gpanders 3y agoI have been installing into $HOME/.local for a while now and it works wonderfully. I build from source, but it should work just as well from a tar or AppImage.
- manaskarekar 3y ago
- crop_rotation 3y agoI spent a good amount of time learning vim/neovim and installed tons of plugins, but in the end I didn't see the point. Language support is still nowhere near VSCode, let alone Jetbrains products. I do all my development on a macbook so ultra low memory or being installed by default is not a requirement. People praise vim/neovim for being small but to get any decent functionality you will end up with tons of plugins. The default vim/neovim is a fine text editor but when you need to write text you have better tools anyways. Maybe one can type fast in vim, but who is writing code limited by the speed of typing.
- oblio 3y agoI like Neovim but I'm not sure their embedded vision is taking off. You'd want their framework to end up in a very popular IDE for example, and that's just not happening. All major IDEs will want full control over their editing component. Because of that they won't implement "IDE-like" features such as a file explorer (I know there are plugins out there, plugin based systems are always slower and more brittle, both in the present and for updates), moving the command bar to the top, having powerful built-in fuzzy file finding, etc. Perfect is the enemy of good, since perfect might never come and we could instead have good now or at least soon.
- _bohm 3y agoFor file explorer and fuzzy finder, neovim does inherit netrw and vimgrep from vim. I use the netrw all the time and have never felt the need to install a file explorer plugin. vimgrep, less so since I have telescope with fzf and ripgrep, but it does exist!
- benjaminwootton 3y agoA few months ago I stumbled on Astrovim which is an opinionated NVim setup. They have built pretty much exactly what I was trying to do by hand. After 20 years of flirting with Vim then going back to other IDEs I think I’ve made the Vim thing finally stick and become productive with it. It’s partly the type of coding I do, but I’m always contributing on the DevOps side too - Dockerfiles, .env files and the like. Being close to the terminal and within a Tmux session is perfect for that type of work.
- cutler 3y agoAfter hacking around with various Neovim "frameworks" I decided I want my text editor to but just that and no more so switched back to Vim and MacVim. The improvements to Vim's scripting language were icing on the cake.
- AlexSW 3y agoWhat did Vim give you that Neovim didn't provide?
- gpanders 3y agoYou can use Neovim without a framework. In fact, for the most part Neovim will work as-is with a .vimrc written for Vim (there are some options that are specific to Vim or Neovim, but not many, as both projects port features from the other).
- codewiz 3y agoI decided not to give in to any configuration frameworks and I see them as unnecessary complexity. Initially, I just symlinked my old .vimrc to ~/.config/nvim/init.vim and started adding if sections to configure neovim features while keeping the config backwards-compatible. Eventually I started rewriting small chunks of it in Lua, and now I'm 100% migrated to init.lua. I think it's a little cleaner this way, but not a life changer. The real power of Lua is for plugin authors.
- codewiz 3y agoPerhaps by "frameworks" you meant plugin managers. On vim, I was using vim-plug, which works fine with neovim too. At some point I switched to Packer, which is written in Lua and is definitely more powerful. Now I would recommend Lazy instead: https://github.com/folke/lazy.nvim https://github.com/folke/lazy.nvim Yes, it's silly that neovim still doesn't come with built-in plugin management. Installing a plugin should require 0 lines of config.
- theusus 3y agoI have tried many times to switch to Neovim, but I keep coming back to VS Code. 1. I can't create configs myself. 2. Astro, Lunar ... all break at sometime.
- velcrovan 3y agoAgreed. Neither VS Code nor VS Codium (my preferred variant, telemetry-free) have ever broken my setup with an update, something I can’t say about NeoVim or Emacs.
- yjftsjthsd-h 3y ago> VS Codium (my preferred variant, telemetry-free) Telemetry reduced - https://github.com/VSCodium/vscodium/blob/master/DOCS.md#disable-telemetry https://github.com/VSCodium/vscodium/blob/master/DOCS.md#dis...
- ilovecaching 3y agoI've had one vanilla vim breakage in over a decade of use. A common pattern I see that inhibits vim usage is: - Using too many plugins without understanding all that vim has to offer. - Cargo culting configs instead of building up little by little. - Trying too hard to rice vim in appearance without adding meaningful utility. The same applies for Emacs. Vim and emacs are powerful editors not controlled by corporations, have succeeded for decades when other editors have floundered, can run in any basic computing environment/terminal, and are logically present in many Unix tools. Like all of software engineering, a deeper understanding of the system you're using pays huge dividends in the long run. In short, take the time to learn one of these editors in it's basic form and then nurture a small config that can go a long way, and you will find success.
- csomar 3y agoI don't disagree, but then you shouldn't update Neovim if you are not ready for that. I'll go even farther: don't use Neovim if you are not going to write the config yourself.
- 3y ago
- tarkin2 3y agoSince I've learnt vimscript and am relatively happy using it, what's the advantage of writing plugins in lua for neovim?
- phailhaus 3y agoBetter documentation and support. Since Lua is a well-established language, there's a larger community around it than something like vimscript. What I've heard from the community is that vimscript and its quirks are difficult to deal with, which complicates plugin development. Lua support means more complex and stable plugins, but if you prefer vimscript nobody's stopping you.
- gpanders 3y agoNeovim uses LuaJIT on most distributions (or when building from source), which is substantially faster than Vimscript. Although this only really matters in computation-heavy plugins. The only other "advantage" is that the Neovim development team is 100% all in on Lua, and Vimscript is essentially in "maintenance mode". We still port patches from Vim, but even Vim has moved on to Vim9script, which Neovim has no plans to support, so traditional Vimscript is very likely not going to see any improvements from either Vim or Neovim.
- physPop 3y agoNone that i've seen. Everyone seems to love Lua but its a mess for a config language -- its just untyped dictionaries passed around everwhere. Spelling error in some special string keyword? Too bad. Might as well use lisp at that point.
- vander_elst 3y agoI've really tried to move from vim to neovim for a long time and spent many hours trying to configure it to behave like vim, but every time I try it breaks in unexpected ways or it hungs up, while vim for my workflow never flinks. I hope that they'll reach a 1.0 soon where things are more stable.
- collinvandyck76 3y agoI felt this way in the 0.7 and earlier days but since then it's been remarkably stable for me, at least.
- yjftsjthsd-h 3y agoThat's odd, because neovim is a fork of vim, not a reimplementation. What broke for you?
- ilovecaching 3y agoAnd forks diverge... in the case of neovim by tens of thousands of LoC. In what way is forking a stable product a guarantee that the fork will remain stable?
- physPop 3y agoThe dissonance between the lua config and vimscript config is infuriating, combined with plugins not providing default config snippets (other than copy and pasting them off the their github readme's).
- gpanders 3y ago>I've really tried to move from vim to neovim for a long time and spent many hours trying to configure it to behave like vim Could you elaborate on this? Out of the box, Neovim and Vim are extremely similar, almost identical to a first approximation (Neovim has different defaults for some options than Vim, but that's about it). The two start to diverge dramatically when you begin writing or using plugins as the extensibility/API model is quite different between the two, but I am very surprised to hear you had difficulty trying to make Neovim behave like Vim.
- tgz 3y agoI try this release on debian buster: nvim: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by nvim) Why binary doesn't support old glibc?
- pxc 3y agoYou can probably get this version of Neovim to run on your Buster system with Nix, which will pull in a newer glibc in an isolated/self-contained way if its Neovim build needs it! I left some instructions for how to get started with this in this comment, if you're interested: https://news.ycombinator.com/item?id=35482673 https://news.ycombinator.com/item?id=35482673
- pyrophane 3y agoId gotten busy at work and was using vscode because it was very easy to set up and use, but I never really liked it. Recently had some downtime and finally got around to setting up nvim and writing a config for it to get an IDE experience from it, and I love it! Probably the biggest pain-point was wrapping my head around all of the plugins and config needed for language server completion, but overall configuring it was a good experience. Really happy to see the .9 release out, as I've been using the daily builds for a while now
- gpanders 3y agoOne feature I'm personally excited about is the "undeprecation" of the 'exrc' option, which allows project-specific configuration. Vim (and thus Neovim) has had the 'exrc' option for a long time, which loads any .exrc or .vimrc (or in Neovim's case, .nvimrc) files in the current directory. However, it does this unconditionally, which is obviously a bit of a security concern as a random .vimrc file could contain arbitrary code. For this reason, Vim recommends not using this option and Neovim even went so far as to mark it deprecated. In this release, Neovim adds the concept of a "trust database", which is used for the 'exrc' option. When 'exrc' is enabled and a .nvimrc or .nvim.lua file is found in the current directory, Neovim will ask the user if the file is trusted (with the ability to first view the file). The file is only executed if the user explicitly marks it as trusted. Because this solves at least the most egregious security issues with the 'exrc' option, it is now marked undeprecated in Neovim. I have been using .nvim.lua files for project specific configuration to great effect at work. Hopefully others find this feature useful as well.
- pxc 3y ago> In this release, Neovim adds the concept of a "trust database", which is used for the 'exrc' option. This is basically how direnv and shadowenv work. So if anyone has used those, this is the same idea but it lets you layer on project-specific nvim config without shipping a whole, preconfigured nvim with your projects. Pretty cool!
- gpanders 3y agoIndeed. The combination of direnv and exrc is very potent.
- lenkite 3y agoI just use a Neovim distro like https://nvchad.com/ https://nvchad.com/ and I am reasonably happy. Can customize anything specific on top of that.
- BaculumMeumEst 3y agoi'm considering hopping over from emacs but i'm not sure how to kick off an async shell command, pass the current buffer to its stdin, and write its output to a buffer. does anyone know if should i be using job_control or io.popen for that sort of thing?