15 comments

[ 1.5 ms ] story [ 14.5 ms ] thread
I love this! Having moved from Sublime to VSCode to vim to kakoune over the last year, I'd love to do the same with my browser. Scripting it in lisp is just extra neat.

I can't use it as my primary browser yet, of course; since most of my time is doing web development I need my dev tools. Also, Slack won't even let me in, so there's that.

Could you expand on your editor journey a bit more? What do you like about kakoune? What made you jump to each next editor?
Sure:

Sublime was what I started with, and stuck with for 5 years; it was fast, pretty, familiar, and I cannot emphasize how much I love multi-cursor select (C-d). Also the overview bar on the right is brilliant.

Eventually I got frustrated with sublime's lack of customizability (I didn't dig deep, but the plugin api seemed lacking; VSCode seemed to be more plugin-oriented), and especially its lack of good macros; Sublime macros don't include things like fuzzy finding and find/replace, which made them very nearly useless to me. VSCode was basically just a better Sublime; but I only spent a few weeks with it so take my review of it with a grain of salt. Due to its lack of good macros, I quickly decided to look into vim/emacs.

I spent a couple weeks pitting them against each other, before going with vim. I originally was more excited about emacs because I like lisp, and it's infinitely scriptable. Both had great macros, but what eventually got me was two things:

First, the old comic[0] about learning curve is true, and after a week with vim (the third time around admittedly), I got to an "aha" moment and started being productive, while I got lost with emacs since it's so general-purpose, and its areas of application are so diffuse.

Second, the focus of vim on text editing rather than emacs' trying to get you to do everything in it jived with what I was after: a better text editor, not a better repl/browser/whatever. And the elegance (despite the cruft) of vim's terse dsl is just awesome. I like paradigms, and that is a good one. Also, as a side note, while VimScript is insane as a language, scripting vim to do common things was pretty ok; for more special purpose tasks I usually just recorded a good macro and mapped it to a command. Vim's macros are PEACHY KEEN.

I discovered kakoune just about a month after learning vim, but I had to wait a year to justify to myself ditching my new skillset for another one. Kakoune keeps all the good parts of vim (other than the large community), and improves on them.

First, it embraces the text-editing-dsl paradigm, which I find very compelling, improving on it by adding multiple selections (which I miss so bad from sublime), and always having at least one selection as part of their noun-first conventions (as opposed to vim's verb-first conventions). This results in some weird hurdles that I haven't figured out (after 2 months), but even with my inexperience, I'm much faster at editing code than I was in vim.

Second, it embraces the unix philosophy of doing one thing well; this was super annoying at first, but its solution was "use a tool that does that well, and glue them together with your own scripts". This was a big reason I took so long to adopt kakoune; I didn't have time to not only learn a new editing language, but also write my own damn editor. But when I eventually did, it was totally worth it (and way easier than I had feared).

For example, kakoune doesn't do window tiling. This forced me to start using tmux, which was really good for me; I got rid of my osx multiple desktops in favor of lots of tmux windows, and I now use the same hotkeys to manage my editor's panes as I do my terminal panes. I had the same experience with fuzzy-finding. I was mad at first that I had to implement my own, but after understanding some of kakoune's basic scripting paradigms, it was a 5-line script in my config file. So easy.

Also, what this means is that kakoune's plugin architecture is infinitely more powerful than Sublimes, VSCode's and even vim's, since it's as powerful as bash (I know you can shell out in vim, but only synchronously; kakoune supports async. Also, I know, NeoVim solves this too).

So there you go. Thanks for asking! YMMV with kakoune of course; I'm very much a text editor over IDE person; I work on a relatively small project most of the time, so intellisense etc is much less valuable to me than a snappy UX and the a...

How well does Vim muscle memory map to Kakoune? I doubt I'll be able to give up my Emacs Evil mode, but the idea of an editor truly embracing the Unix philosophy sounds nice.
It maps well enough that getting started is easier with a vim background, but it's different enough that I have a hard time using vim when I ssh into our servers, and I do the whole "ten keystrokes with caps lock on, oh no" except instead of caps lock I have kakoune muscle memory.
A WebKit GUI, for those who are curious like me. Weird that it’s kind of buried in the documentation on dependencies.
And scripted with Common Lisp
Is there no way see the URL?

I'd love a vim-inspired version of this.

I'm using the Vimium plugin for Chrome, which isn't half bad
Well, I'd say it's definitely half bad. Like how it doesn't work in special tabs like the new-tab page making you have to use the default keybindings anyways.

Firefox's Vimperator is worlds better, though I haven't tried it since the Quantum update neutered plugins.

cVim in chrome is a bit like this too.
It is nice concept. Definitely promissing. At the moment it seems to be something that can be of interest for other devs if they wish to work on this.

I ran into number of issues, like you can imagine.