5 ms·
The advantage of (Neo)vim is that it lets you create a PDE (personalized development environment) [1] where you can customize every little detail to your liking
by code-blooded 4y ago
The advantage of (Neo)vim is that it lets you create a PDE (personalized development environment) [1] where you can customize every little detail to your liking easily [2] and as a result program and navigate at the speed of thought.
It takes some effort and likely 20-30 plugins, but you get to learn a lot and IMO become a better programmer as a (unintended?) side effect. For me it's part of the continuous improvement to understand your tools.
Last but not least it's just so much joy when you can envision a certain feature (e.g. I wanted to have a function header visible in the first line of editor even when the top of the function has scrolled off the screen) and either find a plugin or program it yourself. This is exactly the kind of primal joy that initially made me pursue the career of software engineer.
[1] The concept of PDE is explained in this video: https://youtu.be/QMVIJhC9Veg https://youtu.be/QMVIJhC9Veg
[2] Easily is relative. IMO each little customization is quick, but you'll end up customizing hundreds of things over time.
- endorphine 4y ago> e.g. I wanted to have a function header visible in the first line of editor even when the top of the function has scrolled off the screen This sounds super-useful. Do you mind sharing how you achieved this?
- lancebeet 4y agoThere are a couple of plugins that do this. For vim: https://github.com/wellle/context.vim https://github.com/wellle/context.vim For neovim (much higher performance in my experience): https://github.com/nvim-treesitter/nvim-treesitter-context https://github.com/nvim-treesitter/nvim-treesitter-context I believe there's now also a VS code plugin for the same behavior, but I don't know what it's called.
- ndand 4y ago> I believe there's now also a VS code plugin for the same behavior, but I don't know what it's called. It's called "sticky scroll". It's a relatively new feature of VS Code.
- pjot 4y agoIt actually ships with vscode! https://code.visualstudio.com/updates/v1_70#_editor-sticky-scroll https://code.visualstudio.com/updates/v1_70#_editor-sticky-s...
- code-blooded 4y agoSure thing! https://github.com/nvim-treesitter/nvim-treesitter-context https://github.com/nvim-treesitter/nvim-treesitter-context is what I use nowadays. It has a little clip demonstrating how it works so you'll instantly know if you want it or not ;)
- firstSpeaker 4y agoDo you by any chance have your whole config shared somewhere?
- code-blooded 4y agohttps://github.com/mateuszwieloch/dotfiles/tree/master/.config/nvim https://github.com/mateuszwieloch/dotfiles/tree/master/.conf... I'm rewriting it to be 100% Lua at the moment. It's 80% done and I've just pushed it for you. Take a look at the init.lua and ignore init.vim which is going away and is in a messy transitional state. The only thing that's missing in the Lua config is LSP integration, but that should be done by tomorrow as well. Edit: Just remembered that the Lua version also has no plugin manager, but there's plugin-install.fish script that just clones plugins into the correct folder, which works for now. I'll probably add lazy.nvim plugin manager in the upcoming weeks as well ;)
- firstSpeaker 4y agoThank you. It is 404, probably the repo is not public?
- code-blooded 4y agoWhoops! Making it public right away :)
- wilsonjholmes 4y agoLove this remap! ``` -- Move cursor to start/end of line vim.keymap.set({"n", "v"}, "H", "g^") vim.keymap.set({"n", "v"}, "L", "g$") ```
- SuperCuber 4y agoYou didn't ask but here's mine https://github.com/SuperCuber/dotfiles/tree/master/nvim https://github.com/SuperCuber/dotfiles/tree/master/nvim I just finished refactoring and dusting off my config with a structure similar to this video https://www.youtube.com/watch?v=w7i4amO_zaE https://www.youtube.com/watch?v=w7i4amO_zaE