Not a Vim user myself but I’m keeping an eye on neovim especially after seeing the demo of distant, which is a remote editing plugin. I do a lot remote Python dev and debugging and Nvim hasn’t quite fit the need just yet. Though I Would love to move my workflow into the terminal just so I can consolidate everything into a single workspace. I currently have nearly a dozen workspaces and something like 20 editor windows for different projects which I think is too much, but it’s the only way I have to stay organized right now.
If you work on Linux all you need is sshfs to remote mount and if you have pycharm add the remote interpreter as the project interpreter. It works like a charm even when debugging.
I've recently picked up vim the past couple weeks. Finding that it is very pleasant in many ways, though there are still some occasions where it feels like being very stubbornly inefficient to refuse to use a mouse. Does that feeling ever go away?
Actually, it's even better (or worse): you'll become increasingly annoyed using other applications, where there should be a very "native" keyboard-only command mode or at least mouse-free method to do stuff, but there isn't.
I'm looking at you GtkFileChooser (or almost any GUI file browser for that matter)
there are builds (macvim, etc) that are good with mice, if it bugs you too much. obviously, the terminal-oriented versions wouldn't do great on this front (as far as i'm aware). i find the mouse mostly nice for scrolling (which i believe does work for me for neovim on arch linux in dwm, but ymmv) at this point, but, yes, for the most part that feeling subsides when you really start to grok the navigation in normal mode (by paragraph, etc.)
If I were to give a talk, I would do it on qutebrowser.
If you like using Vimium, you owe yourself to try out qb, where keyboard gets first class in the application, not second-class injected into some pages with JS.
> qb, where keyboard gets first class in the application
No need to contribute to the Chromium monopoly, luakit (what this comment’s sent from) and some other browsers (off the top of my head: nyxt and, to varying extents, Palemoon, lynx, and eww + evil-mode) offer the same thing.
I don't have much experience with nyxt or luakit, but the other browsers do not even come close to these features:
All the keyboard shortcut always work, not just once a tab that's allow-listed has been loaded and JS has been injected into it.
All the settings, including e.g. tab position, fonts, tab loading indicator colors, etc. are configurable via :set
All keys are bindable to all commands via :bind
JavaScript, image loading, etc can be toggled globally, per domain, or for individual pages with keyboard shortcut.
Also, there is an amazing support channel on IRC.
I sympathize with your dislike of the Chrome monopoly. I test my websites in Lynx, Links, AND w3m, not to mention Netscape, IE, Opera, Firefox, PaleMoon, Waterfox, Safari, and many others. However, I also want a usable and performant browsing experience -- something Chrome definitely does not provide, but qb does. I don't think it's anywhere close to being Chrome, it is way better.
Luakit, Pentadactyl, and I think nyxt (the only one I haven’t tried) all offer everything you describe, except that their IRC channels are pretty sleepy, some of luakit’s configuration requires you to edit ~/.config/luakit/rc.conf (a lua filen with all the power that provides, but simple enough to understand without knowing the language) and :restart (which preserves tabs and scroll positions, though not all JS state), and I don’t remember per domain/page JS toggles in Pentadactyl (though global JS toggle worked, and luakit’s per domain JS toggle is great and global toggle fine).
Anything Chromium based is virtually as bad as Chrome in terms of increasing the engine’s market share, making it the de facto standard and making the majority of web devs test their sites less or not at all on other engines (I appreciate you being an exceptional dev in that regard, but I’d appreciate more you doing your small part to influence all the other devs of the sites you use).
Well, FWIW, I've been using Firefox 66.x for the past few months, the best I have found for Ubuntu 14.x, which is what came with my current primary device. :)
Hard to speak for everybody, but I think a common opinion is that it's a neat project that has some pluses and minuses and doesn't seem to be worth the effort to switch to.
As a vim user (sample size one) I’m not tempted to try it due to differences, especially:
> Kakoune’s grammar is object followed by verb, combined with instantaneous feedback [in vim, it’s verb followed by object]
> vi treats moving around and selecting an object as two different things. Kakoune unifies that, moving is selecting. w does not just go to the next word, it selects from current position to the next word
The increased interactivity seems nice but the loss of backwards compatibility and having to relearn and retrain basic commands seems not worth it to me.
I don’t know if anyone can speak for the whole community. Personally, I use vim for a similar reason that I use Postgres. It’s open source and well-tested. The rough edges are extremely well known, and relatively polished or padded.
And, if a feature is desirable enough, I know it’ll end up as a vim feature sooner or later. Like JSONB, timescaledb, etc. for PG.
Kakoune looks like it has some cool features! They’ll probably end up in Vim (or nvim) eventually.
What do you do when you solve a problem with a macro and then find that you need to do that a bunch more across other files? Using vim non-interactively always feels awkward
Not sure if this is rhetorical, but you can (1) use rg -l to open a bunch of files in vim (2) qq make change, select next pattern, esc. (3) qr 100@q :bufferdelete esc (4) 100@r
If it’s a simple replace symbol, its easier to do it with rg -l and sed -i, of course.
Open all the files in Vim either by starting that way or with something like :args, then :bufdo normal @@ to execute the most recently executed macro on all buffers.
On occasions when I’m doing things more iteratively (because I’m using a few macros and personal judgement), I commonly end up with :wn<Enter> in one of the macros.
Not to start a holy war here but I recommend learning both Vim and Emacs just to appreciate the strengths and weaknesses of both. Both editors have built-in tutorials you can cover in one day.
Probably best to learn Emacs first, because as a lazy vi user trying to learn Emacs I've really struggled. I've given up on the Emacs tutorial multiple times, it hurts my fingers and I really only want to use Emacs with evil-mode, but there doesn't seem to be a tutorial for that use case. Evil-mode does come with its own evil-tutor, but it seems to be just a lightly edited vimtutor with very little Emacs-specific information.
(Not to mention that installing evil in vanilla Emacs requires too much hassle, including first manually adding melpa as a package repo — which drove me to spend a lot of time trying to make do with viper mode — and later choosing yet another package to be able to redo, unless you use the unreleased Emacs 28. That pain is probably my fault for giving up on Doom because its support chat requires a nonfree client, and for not trying spacemacs yet.)
I've been using Doom Emacs for a while now and never once required "support chat". What is the "nonfree client" you refer to? Where would I access it if I needed it?
I’m on GNU with X11, and my Caps Lock key is already mapped to Escape when tapped and Super when held, so I don’t have space for another Control unless I make holding Tab, Enter, \ or something be it.
I gave up trying to learn Emacs the “right way” and went from Neovim to Doom Emacs and was shocked at how quickly I became more productive than I was with Neovim
36 comments
[ 3.0 ms ] story [ 99.7 ms ] threadI’ve used vimcasts.org and found it helpful as well.
I'm looking at you GtkFileChooser (or almost any GUI file browser for that matter)
Hopefully other applications will pick up more of these over time
Highly recommended.
If I were to give a talk, I would do it on qutebrowser.
If you like using Vimium, you owe yourself to try out qb, where keyboard gets first class in the application, not second-class injected into some pages with JS.
No need to contribute to the Chromium monopoly, luakit (what this comment’s sent from) and some other browsers (off the top of my head: nyxt and, to varying extents, Palemoon, lynx, and eww + evil-mode) offer the same thing.
All the keyboard shortcut always work, not just once a tab that's allow-listed has been loaded and JS has been injected into it.
All the settings, including e.g. tab position, fonts, tab loading indicator colors, etc. are configurable via :set
All keys are bindable to all commands via :bind
JavaScript, image loading, etc can be toggled globally, per domain, or for individual pages with keyboard shortcut.
Also, there is an amazing support channel on IRC.
I sympathize with your dislike of the Chrome monopoly. I test my websites in Lynx, Links, AND w3m, not to mention Netscape, IE, Opera, Firefox, PaleMoon, Waterfox, Safari, and many others. However, I also want a usable and performant browsing experience -- something Chrome definitely does not provide, but qb does. I don't think it's anywhere close to being Chrome, it is way better.
Anything Chromium based is virtually as bad as Chrome in terms of increasing the engine’s market share, making it the de facto standard and making the majority of web devs test their sites less or not at all on other engines (I appreciate you being an exceptional dev in that regard, but I’d appreciate more you doing your small part to influence all the other devs of the sites you use).
[1] http://kakoune.org/
> Kakoune’s grammar is object followed by verb, combined with instantaneous feedback [in vim, it’s verb followed by object]
> vi treats moving around and selecting an object as two different things. Kakoune unifies that, moving is selecting. w does not just go to the next word, it selects from current position to the next word
(source: http://kakoune.org/why-kakoune/why-kakoune.html )
The increased interactivity seems nice but the loss of backwards compatibility and having to relearn and retrain basic commands seems not worth it to me.
And, if a feature is desirable enough, I know it’ll end up as a vim feature sooner or later. Like JSONB, timescaledb, etc. for PG.
Kakoune looks like it has some cool features! They’ll probably end up in Vim (or nvim) eventually.
If it’s a simple replace symbol, its easier to do it with rg -l and sed -i, of course.
On occasions when I’m doing things more iteratively (because I’m using a few macros and personal judgement), I commonly end up with :wn<Enter> in one of the macros.
(Not to mention that installing evil in vanilla Emacs requires too much hassle, including first manually adding melpa as a package repo — which drove me to spend a lot of time trying to make do with viper mode — and later choosing yet another package to be able to redo, unless you use the unreleased Emacs 28. That pain is probably my fault for giving up on Doom because its support chat requires a nonfree client, and for not trying spacemacs yet.)