5 ms·
Neovim 0.5 is awesome. It has native LSP support, Lua configuration support that it feels like true revolution over past versions. But, getting into optimal se
by varbhat 5y ago
Neovim 0.5 is awesome. It has native LSP support, Lua configuration support that it feels like true revolution over past versions.
But, getting into optimal setup in neovim/vim involves lot of configuration. Here is mine if you want to refer:
https://github.com/varbhat/dotfiles/tree/main/dot_config/nvim https://github.com/varbhat/dotfiles/tree/main/dot_config/nvi...
- sigzero 5y agoWhat's a good x-platform GUI for it?
- varbhat 5y ago1) Terminal 2) Neovide : https://github.com/Kethku/neovide https://github.com/Kethku/neovide 3) Neovim-Qt : https://github.com/equalsraf/neovim-qt https://github.com/equalsraf/neovim-qt
- yakubin 5y agoYour comment triggers my OCD in 2-3 different ways: 1. First you start numbering with 1. 2. Then you start numbering with 0. 3. You provide links for all but the first element in the list, which, combined with my first 2 points, results in a juxtaposition of "2" and "0", suggesting to my subconscious that I missed something. Well done.
- varbhat 5y agoCorrected Now.
- pdimitar 5y agoNeovide looks amazing, thanks for linking it!
- Normille 5y agoVimR [0] is a nice OSX GUI for Neovim. FireNvim [1] is a browser plugin which embeds a Neovim editor window in HTML textareas [0] https://github.com/qvacua/vimr https://github.com/qvacua/vimr [1] https://github.com/glacambre/firenvim https://github.com/glacambre/firenvim
- dorian-graph 5y ago> But, getting into optimal setup in neovim/vim involves lot of configuration. I haven't found this to be true. I've basically copied the configs from READMEs and have everything working.
- throwaway894345 5y agoI’m with the parent. I have to copy and paste all of these different little snippets (in the arcane viml language, although now maybe I can configure with kia?) and annotate what they do, and sometimes they compose poorly and other times they don’t work at all. Many plugins are only available via some of the package managers do you have to use several package managers with their own conventions. Honestly the thing I like best about vim are the keybindings, and while many other editors try to reproduce them, they rarely get it right. The only one I’ve found that comes close enough is vs code and it doesn’t search properly (case insensitive) and it uses a sane regex language instead of whatever regex language vim uses. I specifically dislike the vim philosophy that defaults should be insane and the user should have to configure things to their liking with all of the expertise that entails. VS code does a much better job in this regard (though it has its own quirks).
- lacksconfidence 5y agoI think the vim philosophy is slightly different. The vim philosophy is if it worked yesterday, it works today. This means, for the most part but not exclusively, not making breaking changes. This means, by proxy, that the defaults were set a long time ago and are unlikely to change. It's a difference in who they consider the most important users, the ones already using it or the new users that might use it in the future.
- throwaway894345 5y agoI think those of us who have been vim users for a while can still appreciate intuitive design. :) Moreover, this could be entirely backwards compatible--you could have a single boolean "sane-defaults" flag which defaults to false (for our dear legacy users) but which new users can override.
- ibraheemdev 5y agoIt is awesome, but I have been running into bugs with it. Memory out of bounds errors, freezing when my project is misconfigured, it doesn't feel stable yet. Is that just me?
- mjlbach 5y agoHave you filed your issues on our issue tracker (neovim/neovim, not neovim/nvim-lspconfig)? If not, please do! I haven't run into these issue myself, but if you can provide a minimal repro happy to take a look.
- revscat 5y agoI think it may just be you. I’ve been using nightly builds for months now, and haven’t seen what you describe even once.
- rajin444 5y agoI tried out the native LSP support few months ago and the docs + features for it seemed poor. I went back to coc.vim
- skohan 5y agoI had the same experience maybe 6 months ago, hopefully having a "blessed" implementation will help/has helped this situation. I actually was surprised to see the state of the LSP docs in general. Maybe I was missing it, but all the docs I could find only had C# examples of the various objects. I was surprised I couldn't find an exhaustive list of the JSON documents and JSON-RPC endpoints which make up the standard.
- ibraheemdev 5y agoThe features are all there, and I found the documentation was pretty good. There were cases where I had to dig through help pages and github issues to configure things a certain way.
- YorickPeterse 5y agoThe documentation is there, but it's a bit lacking/confusing here and there. It's also mostly foundational work, and you still need to cobble things together (either manually or using a plugin). With that said, you can build things quite nicely with it. For example, I have a custom linter setup, custom loclist/quickfix list formatting and populating from LSP data, and a bunch of other things; all using the foundational work coming in NeoVim 0.5. If anybody is curious, you can find my NeoVim configuration here: https://gitlab.com/yorickpeterse/dotfiles/-/tree/master/dotfiles/.config/nvim https://gitlab.com/yorickpeterse/dotfiles/-/tree/master/dotf... p.s. In case anybody wonders "why Lua?", for me this mostly comes down to this: I hate Lua, but I hate Vimscript even more.
- mjlbach 5y agoHave you checked it out recently? I overhauled the documentation twice since January. Most recently, I dramatically simplified the documentation based on user feedback, expanded the wiki pages, and created an "advanced" readme for power users.
- mjlbach 5y agoI don't agree that it requires a lot of configuration. Here is the "starter" configuration (~280 lines) that I made for helping debug user issues with the built-in language server client: https://github.com/mjlbach/defaults.nvim https://github.com/mjlbach/defaults.nvim
- comma_at 5y agoYou think 280loc as a starter is not much?
- mjlbach 5y agoSure, although this is fairly "batteries included". Very rough numbers: - 34 lines to set up plugin manager/install plugins - 43 for keybinds - 35 for documentation - 50 for autocompletion - 20 for customizing one language server for plugin development (sumneko) It adds up for sure, and neovim/vim/emacs are not ever likely going to be as plug & play as vscode/intellij, but I would argue the target user for vim/neovim/emacs is someone who wants more customization, which is almost always going to mean the configuration is more verbose. If you have concrete suggestions on cutting down this config in particular, you can file an issue/PR. The main reason I created this, was because we (core neovim team) get a lot of "I just want something that works" type feedback (which to many includes autocompletion and default keybinds, which are almost 1/3 of the config)
- threatofrain 5y agoVSC has tons of customizations available, perhaps even beating Vim in the number of exposed configurations. The problem with Vim configurations is that a lot of them feel obvious, and the ergonomics of dealing with configs is painful and frequently calls you to reference outside material.
- mjlbach 5y agoI'm not sure I'd say that it beats vim/neovim, but I agree with your point about ergonomics. I would say the vim manual is a fantastic resource, I've never felt the need to reference outside material. Neovim has already integrated many of the "obvious defaults" (see :help nvim-defaults), but if you're a user and feel that something is missed you should file an issue. I personally don't mind that the defaults may not be what I'd like, as once they are set, I spend very little time modifying my system configuration. I realize this can be a barrier to new users though.
- todd8 5y agoThanks for making your configuration available, I want to try out Neovim because it's an exciting project and having carefully constructed configurations available as a starting point will make it easier. Your configuration doesn't look too long to me, my own Emacs configurations are much, much longer and not at all stable--every so often I declare Emacs bankruptcy and start over. Now, some off-topic musings: I switched to Emacs from vi in the 80's, and I put up with it for the many powerful packages it has. Lisp as a configuration language has served Emacs well for decades, but I've always been aware that it narrows the number of contributors to those that are comfortable with Lisp. Progress towards modernizing the Emacs extension language has been slow...and it will still be a Lisp like language (Scheme). I'm rooting for Neovim and I'd like to see a project like this for Emacs that would modernize it's UI, UX and underlying extension language. This will likely never happen while I'm still programming. Imagine the difficulty of recreating just the org-mode package!
- ccakes 5y agoIf you’re interested in projects working on “modernising” Emacs check out https://github.com/emacs-ng/emacs-ng https://github.com/emacs-ng/emacs-ng No affiliation and haven’t even used it - but it seems to have legs.
- todd8 5y agoI don’t know how I missed that project. While very ambitious, I feel that it’s direction is the most practical proposal I’ve heard to modernize Emacs.
- davidkunz 5y ago... and here is a playlist demoing my config, including how-to: https://youtube.com/playlist?list=PLu-ydI-PCl0OEG0ZEqLRRuCrMJGAAI0tW https://youtube.com/playlist?list=PLu-ydI-PCl0OEG0ZEqLRRuCrM...
- naltun 5y agoNice config. I'll use it to help me enhance my own nvim setup. Thanks for the share.