4 ms·
I did the opposite: I took very seriously studying and setting up neovim. I've been using vscode and sublime text before that. After 3 months, I found an incr
by Fire-Dragon-DoL 4y ago
I did the opposite:
I took very seriously studying and setting up neovim. I've been using vscode and sublime text before that.
After 3 months, I found an incredible amount of edge cases that I don't want to deal with, especially surrounding shortcuts, which is a core part of a text editor from my perspective.
I gave up, in the end I spend way more time reading code than typing code, my time is better invested into studying documentation than learning how to "type and modify code faster". I do most of the coding in my brain either way and the customizations I have on vscode are sufficient.
I will admit that I came with an understanding that wasn't satisfied, that is:
I thought vim is made to be used "only with keyboard", meant that it had an exceptional keyboard-only experience. That's not the case, it has a keyboard-only experience, but it's far from optimal, there is a lot of customization that needs to be done either way and the documentation for such customization is not there, you have to mix stuff between vim and neovim.
- rjzzleep 4y agoWhat were those edge cases? The one thing that ticks me off about neovim is that they somehow managed to break the sudo write trick when you forgot to open a file with sudo :w !sudo tee %
- Fire-Dragon-DoL 4y agoI don't remember all the ones, but the obvious edge case is the inability to bind all the keys I wanted. I had to do a combination of terminal emulator with full shortcuts support and then a mapping mechanism. That to me was extreme. I don't remember which hotkeys can't be used by default, but it was more than one
- rjzzleep 4y agoThere are limitations on which keys you can bind in certain terminals. Other than that most people can probably not at all corroborate what you said.
- Fire-Dragon-DoL 4y agoIsn't that exactly what I'm talking about? You can't bind certain keys in certain terminals. A few that I clearly remember: ctrl + shift + enter. This can't be bound separately from ctrl + enter (or just enter at all?), because shift enter doesn't lead to a "capital case enter". Same goes for shift + enter. So what I did was using a separate terminal emulator (alacritty) and mapping those to a key I wouldn't use, such as F12 o, for example. However figuring out the character code to bind f12 is also another business. Again, I solved that, but binding shortcuts to me is possibly the most essential feature of a text editor and the operation was highly unpleasant.
- saeranv 4y agoDid you try using leader keys? The issue with key binding in vim is that because it's a modal editor, custom shortcuts with the usual modifier keys (ctrl/shift) may conflict with existing shortcuts. But that's what the leader key is for, it allows you to bind an alternative key as a modifier, and use that for all your shortcuts!
- Fire-Dragon-DoL 4y agoI did, but there are some things that I use too often, so I'd rather have them as shortcuts. I used AstroNVIM which comes with space as leader key by default (really nice!)
- rjzzleep 4y agoIf you want to use it like a GUI app maybe you should use a GUI version of vim, which doesn't have that limitation. But if that was really was broke the camels back here's the result of a 10 second search on google with solutions for urxvt, kitty, alacritty and iterm2, as well as a note that GVim doesn't have that limitation. I'm sure that's not the real reason why you couldn't get used to neovim. People have different preferences after all. Otherwise we'd all still be using notepad. https://stackoverflow.com/questions/16359878/how-to-map-shift-enter https://stackoverflow.com/questions/16359878/how-to-map-shif...
- tikhonj 4y agoA lot of what I like Emacs for is reading—especially navigating through—code. One of the main upsides of a keyboard-first design is how natural it makes it to navigate through a codebase with higher-level navigation commands (like moving based on blocks/expressions/etc). I've been learning a new messy codebase recently and jumping around quickly without losing flow is powerful. I love being able to quickly throw up a second view into the file I'm working with and jump to the part of the code I want to compare or reference, all within the same mental space as I use to move around and edit code normally.
- Fire-Dragon-DoL 4y agoI prefer by far mouse-based reading, hence it did not work. And navigating through blocks/paragraphs didn't turn useful at all at the reading time, usually I read things at a high level and read in deep details only if everything else failed. In that case, I'd rather read every line to have a great understanding of what's going on. I guess that explain why it did not work for me, my philosophy goes against the editor philosophy.