Huge Tridactyl fan here, it works beautifully. I am using it for over a year, ever since I spotted its mention at Suckless 'rocks' page: https://suckless.org/rocks/
"Exobrains, on the other hand, stuff Vim full of plugins, functions, and homebrew mappings in a vain attempt to pretend they’re using Emacs."
This is disturbingly accurate from my point of view. I keep wondering if I should finally jump ship and stop tweaking vim with questionable results. Spacemacs? Pure emacs + evil? Suggestions welcome.
I particularly prefer doom-emacs [1]. I migrated from Vim to Spacemacs, however doom-emacs is leaner, faster and has better evil integration. For example, Spacemacs has no mapping for evil-numbers, however doom-emacs maps it to Ctrl+A (increase number) and Ctrl+Shift+A (decrease number) [2].
However, you will probably need to do some customizations in doom-emacs. Spacemacs works mostly only using its internal layers, however when you try to do something that isn't included already... Well, it is less than optimal. doom-emacs assumes that you will want to customize things.
[2]: And as for why it isn't Ctrl+X to decrease number like in Vim, it is because Ctrl+X is probably the most important keymapping in Emacs itself. However I find Ctrl+Shift+A quite good because it follows the Vim convention of the reverse of some operation is on Shift.
I recently moved from Spacemacs to Doom. I second, that it’s so much better, in that it’s faster, leaner, and easier to comprehend. Some of the keybindings could be more thorough. I find myself M-x’ing a lot. I take this as an acceptable trade off, as keybindings are easy to set on one’s own.
I like it because it is easier to add than remove. Spacemacs has so many language specifics keybindings that, while taking less time to be productive, also makes customization much harder thanks to the multiple conflicts that you will probably get when trying to map something.
However this is the trade-off. You have to spend more time in doom-emacs, however there is less friction to customize.
I write primarily Python. Pycharm+vim bindings has been quite a pleasure in my experience. I still primarily use straight up vim with little to no mods for editing one-offs and isolated scripts.
Interesting, I don't often use Python but recent project had few 3000+ lines .py files, which make Vim _very_ unresponsive when editing. Other languages weren't so problematic but Python code is what made me look at Emacs direction at the first place.
... in different combinations. Deleting any char takes surprising amount of time, so much so that I usually mark block to delete instead of char by char even if it is three char block. Of course I may be using wrong plugins, however that's what I found that should be used in various articles online.
Sorry to hear that. Might be worth reporting to the plugin authors, as I don’t think it’s an inherent issue with vim. When editing the sql files I’m referring, it includes syntax highlighting, etc. so I would assume it should work just fine in other cases. But I’m not really dealing with large py files, in general, so I can’t say specifically.
I've made this request before but I would pretty interested in learning emacs the emacs way (rather than trying to emulate vim in emacs). Maybe leveraging my experience with vim in the sense that I don't need to learn what an editor is or shall basics.
Something that starts from bare(ish) emacs, includes emacs lisp, and gradually adds in plugins sort of like how this post does it but maybe more comprehensive and less individual tricks oriented.
Frankly, personally I don't see a particular reason to use Emacs bindings. Afaict it's mostly just “study this flight manual and then do what it says,” simply more hotkeys in the same old editing paradigm.
Meanwhile, there's every reason to use Vim's bindings, as they specifically sidestep the ‘move cursor and then type’ approach. Besides, with Evil you'll still have plenty of Emacs chords to do for stuff that's not in Vim.
Evil makes the transition from vim manageable, but once I was sufficiently far down the rabbit hole, I found I was consistently having to tweak and hack to keep evil working...eventually I bit the bullet and gave vanilla emacs bindings a shot, and haven’t looked back. YMMV, of course, and spacemacs comes highly rated.
But at the very least, they’re both good gateway drugs to get your first hit of the hard stuff
After using vim for about 20 years, I switched to emacs+evil about 10 to 15 years ago.. and spent a lot of time in the first 5 years or so tweaking stuff. Things have mostly stabilized in the last 5 years, and I still use evil.
One thing that helped me a ton was using hydra. Whenever I install a new mode or package, I bind all of its useful functions to hydras. Hydra and evil allow me to keep all virtually all my bindings vim-like.
I tried the switch a couple times. A few times with spacemacs, a few times with trying to write my own config from scratch with evil. Not sure what it is, maybe the way emacs configs are setup but I found vim just so much easier for me to manage with less magic and more predictability.
"Nidavellir is real? Seriously? I mean, that place is a legend. They make the most powerful, horrific weapons to ever torment the universe. I would very much like to go there, please."
I first heard of Tridactyl because it was listed on https://suckless.org/rocks/ page. It filled huge gap left from Vimperator and no complaints on my side. Works well.
Huge additional plus, entr does not rely exclusively on inotify, it is also 'BSD kqueue wrapper. It is the only command line utility that I found that allows cross platform (linux/BSD) scripting with file system events.
I have few scripts that rely on entr and I am always sure they are OS agnostic.
Sorry if off-topic: How does DO compare to Linode? I have lots of experience with Linode but since I hear good things about DO I would love to try it out.
What an amazing language. I am working on a Elixir project, with a lot of Erlang peaces used directly. Integration is flawless and beautiful to observe. I do have many languages in my toolbox but only few of them were truly exciting for me, Haskell six or so years ago and Elixir/Erlang/OTP this year.
I've really wanted to dig into functional languages like this, because I love the theoretical benefits they provide, but haven't really sunk my teeth into one in a way that would let me understand the flavor.
Let me ask, were you immediately drawn to Haskell and Erlang, or was it a feeling that grew while working with them? Would you recommend working with Haskell or Erlang directly before trying out a language like Elixir, or should I go high level down?
I did initial plunge into Haskell when I started using xmonad, looking at config file was visibly 'something else'. I would probably recommend starting with Haskell first -- if you want to properly blow your mind that's the way to go. All the principles are common so diving into Elixir took very little time afterwards. Some principles are getting their way into imperative languages and it is much easier to grasp them on pure functional level first. Understanding and using map, filter and reduce, in JS project, was much easier to grasp immediately because they borrow that logic from functional languages.
Elixir is beautiful but probably few notches easier to understand and write than Haskell. Reason I would start with Haskell is that it doesn't hide functional logic with syntactic sugar. For example variables in Elixir are not mutable but since you can assign to the variable already used in function, it can prevent programmer from understanding what immutable really means.
Before learning Elixir, I used functional-like functionality in C# (LINQ) and Javascript (particularly Rambda and Bacon.js) before learning Elixir, and I found that was plenty of preparation to understand Elixir. There's no need to start off with another functional language prior to learning Elixir.
I'm currently learning Elixir and writing about it so that anyone interested in Elixir can learn with me as I learn it. The goal is to help other learn Elixir as well.
I make some comparisons to features in C# and Javascript, and the occasional reference to other languages like Python, but you don't have to know any of those in order to benefit.
In my case I found I was already starting to write Ruby in a very functional way (PORO which is like POJO, only setting properties at object instantiation, focusing on data expressed in built-in classes instead of custom classes, etc.) and that seemed to ease the transition quite a bit.
I've found that "immutability all the way down" has eliminated an entire class of bugs related to unexpected mutation, deadlocking/concurrency issues, etc.
on the contrary for the first point. i suspect that most enjoy notmuch with their traditional interface because there are not many alternatives. probably most people looking for interface alternatives switched to gmail.
commandline UI development in particular seems very conservative, and attempts to explore new interfaces are rare. that's why i love this topic and am getting excited about any attempt to change that.
i obviously can't comment on what it takes to integrate notmuch with lumail, and i grant that one may possibly have to develop a mailclient with notmuch in mind for it to work well.