11 ms·
Personal anecdote: I've used Vim for many years, but I never progressed much beyond the basics, because I almost never put much active effort into learning more
by vkoskiv 3y ago
Personal anecdote: I've used Vim for many years, but I never progressed much beyond the basics, because I almost never put much active effort into learning more advanced motions. About a year ago, I discovered the Helix editor, which has a (IMO) genius feature, where pressing a key to start a motion or other action pops up a little pop-up box that shows all the possible options. It just perfectly clicks with my brain, I can easily ignore the pop-up once I've got the muscle memory, or I can even disable the pop-ups altogether. It's brilliant for discoverability.
With this, I've passively memorized far more advanced motions in the last 12 months than I did in the ~8 years before that. And since Helix is a vim style editor, many of these motions also work in vim!
I feel like Helix is the perfect editor for people like me who know just enough vim to be comfortable, but never got very deep into customizing or muscle memory with advanced motions. Helix does some things differently compared to Vim, which I hear puts off some more advanced Vim users.
The built-in LSP & highlighting support with a stack-based "jump to symbol" and keybinds to traverse the stack also perfectly maps to how I want to navigate code, it has made me far more productive than ever before.
I'm not affiliated with the project myself, I'm just super happy I found the perfect editor for me :]
- Malcolmlisk 3y agoThere is a well known plugin for neovim to do this kind of behavior. You can even create your own hotkeys into that plugin and will help you navigate and memorize different hotkeys for the editor. The plugin is called whichkey, and this is their github https://github.com/folke/which-key.nvim https://github.com/folke/which-key.nvim
- rodrigodlu 3y agoI'm today a neovim heavy user, but even using lazyvim, there's a lot missing with which key. Helix seems to be more out of box. I'm also restarted my journey with neovim after helix. Actually lazyvim convinced me to give another chance, because the community packs and mason makes lsp so convenient! Astronvim is also a good contender, but I broke it so many times trying to customize.
- oblio 3y agoOff-topic: does Neovim have a stable GUI distribution that runs well on Windows and includes fuzzy file search and a file explorer?
- deleted 3y ago[deleted]
- onehair 3y ago- For GUI https://github.com/neovide/neovide https://github.com/neovide/neovide - For Fuzzy file search you will need to add Telescope plugin - For File Explorer, you could use Neo-tree.nvim
- thworp 3y agoI don't think there is a pre-packaged flavour of this. You'd have to use a plugin manager for neovim to install fzf.nvim, telescope and nvimtree. If you want to use nvim more extensively I'd recommend a config bundle like NvChad, AstroNvim or NvPunk, those are mostly cross-platform (might require a few utils like ripgrep, stuff for LSP). They already come with all of this pre-configured and you can disable any plugins you dont like easily. They're also suprisingly snappy thanks to conditional plugin loading.
- avgcorrection 3y agoEmacs has something similar in which-key. Of course GUI apps have had pop-downs from the File-Edit-View-... row [since forever?] so that things like Alt+F will show contextual actions. But at least in the Emacs community people get blown away when someone makes such a basic addition.
- BeetleB 3y agoYou can also use Hydra for Emacs.[1] Once I discovered how to configure Hydra, I made it a habit to make one for every new major mode I need to use. [1] https://github.com/abo-abo/hydra https://github.com/abo-abo/hydra
- nequo 3y agoIn Emacs, you can also insert C-h in a key combination. So you can do the basic things like C-h k to pull up the help for a key combination C-h f for a function C-h v for a variable C-h m for currently active modes But you can also do things like this: C-c C-h to pull up every key combination that starts with C-c Emacs has excellent discoverability out of the box thanks to this.
- avgcorrection 3y agoYeah I love how you can interrogate things like that. Meanwhile, in GUI land: here’s fifteen screenshots carefully manually highlighted which shows you how to change your language to Turkish. Regular GUI apps are just too rigid.
- kqr 3y agoThis is also how magit works, and I agree it's fantastic. Using magit has taught me so much more about command-line git than my past 12 years with it in the command line.
- hiAndrewQuinn 3y agoLazyVim comes with this as well, although with a 1 second delay or so in case you've already got it in muscle memory. It's the Neovim flavor that Shell Bling Ubuntu [1] installs, though, so I'm biased. I've been considering including an option to install `hx` as well in there. [1]: https://github.com/hiAndrewQuinn/shell-bling-ubuntu https://github.com/hiAndrewQuinn/shell-bling-ubuntu
- nightowl_games 3y agoThere's a great write-up of a great set of utilities!
- micheljansen 3y agoNice! I have memorised a lot of Vim actions over the years, but this would still absolutely help me a lot. I would love to have this for (Neo)Vim.
- RMPR 3y agoThere's a plugin for that called which-keys
- micheljansen 3y agoThanks, this sent me down a rabbit hole of NeoVim plugins, but I've enabled it now :)
- neoden 3y agoThe main difference between Vim and Helix is that Helix is not hackable at all. Its configuration allows only very basic settings. It is impossible to change almost anything in its behaviour. So it focuses on being good out of the box. Whether it succeeds or not is for everyone to judge for themselves.
- diggan 3y agoSeems at least extensability is on the mind of the Helix team: > There’s two prototypes we’re exploring that could potentially exist side by side: a typed list/ML-like implementation for scripting and a Rust based interface for things that require performance. Could potentially run both in wasm but I’m personally a bit unhappy with how big wasm implementations are, easily several orders of magnitude compared to the editor https://github.com/helix-editor/helix/wiki/FAQ#how-to-write-plugins-is-there-a-plugin-system-in-place-yet https://github.com/helix-editor/helix/wiki/FAQ#how-to-write-... So they're not avoiding making it extensible on purpose, seems they haven't found the right way to do it yet.
- bobbyskelton41 3y agohttps://github.com/helix-editor/helix/pull/8675 https://github.com/helix-editor/helix/pull/8675
- jayflux 3y agoI think Helix have gone the right way around with their priorities. They've started by making the right things built-in that most developers would need on a day-to-day basis. It's already better than configuring vim/neovim in that regard as it just works out of the box. An example is having Tree-Sitter and LSP already configured, so you get the best syntax highlighting available, and IDE-like functionality. The customizability/hackability will come later, they're working on extension support plus other stuff, but I think for most of their users, this isn't the number 1 priority. I guess their target users are those who just want to get up and running on a modal editor without spending too much time in Lua or trying to get plugins setup.
- 3y ago
- ploum 3y agoThere’s also Kakoune, which is very similar to Helix. See https://andreyor.st/posts/2023-09-20-why-kakoune/ https://andreyor.st/posts/2023-09-20-why-kakoune/
- sheepscreek 3y agoKakoune makes no claims to be Vim compatible though. The keystrokes are completely different.
- xigoi 3y agoHelix is not Vim-compatible either.
- Conscat 3y agoOne big difference between Helix and Kakoune is that Helix has a visual mode, whereas Kakoune only wants chording to extend text regions.
- graemep 3y agoI recently started using Helix too and it does what I want out of the box and is the first modeless editor that really works for me. I am sure you can set up vim to be very much the same, but that is a significant barrier to getting started. I have tried and had problems getting it as I wanted. The problem is that the keys are different from vim so the muscle memory does not work across the two. I would really like to have a more lightweight editor with the same key bindings for quick edits on small files.
- dingnuts 3y agoOf course, Spacemacs provided this functionality out of the box ten years ago using evil-mode (which is actually vim, so all the motions work in vim too, not just some of them) and which-key ten years ago and it's simple to set up in vanilla Emacs too, even for a beginner (I know because this was the path I took as a beginner)
- Skunkleton 3y agoSpacemacs is a good project, but it certainly isn’t easier to set up than helix. Helix literally requires zero configuration to enable this functionality.
- deleted 3y ago[deleted]