Hacker News new | ask | show | jobs
by chc4 3882 days ago
I've played with Kakoune a little bit not that long ago. It's actually pretty nice. By far the best feature is the popup that lists all the sub-actions for chords: imagine if, when you press "g" in Vim, it lists all keys you press after AND what they do. It makes it very easy to figure out new behavior. The idea of working on selections is also very intuitive and works well, both in vim compatability and ease of use.

The biggest issue I had with it, that made me return to Vim instead of try and keep with Kakoune, are the lack of options. A lot of the settings appear to be hardcoded, with no way to set them even with : commands. While it does have scripting support, and a lot of the core application is implemented with it, there doesn't seem to be any docs on how it works or any community behind it.

3 comments

Auto-promotion here :-D Check Spacemacs, it is an Emacs configuration usable by Vim users out of the box. It has the feature you mentioned powered by the which-key package.
I'm a spacemacs convert after using vim for 2 years. This editor + configuration is extremely hard to beat. I just pulled from master after using it full time for two months and updates were amazing.

Way better ergonomics than vim and elisp is extremely easy to hack on.

As a counterpoint - I went back to VIM after a month of spacemacs. I've actually put in the effort to learn the keybindings for all the relevant tasks I needed and the way Emacs works internally, as much as it's possible in a month. I was doing Clojure and the main problem for me was the less fluent editing - most commands in vim are at least one keystroke shorter. The other big problem are non-evilified plugins that completely mess up the workflow - you constantly keep switching between "I'm in VIM" and "I'm in Emacs" mindset. Also, emacs feels a bit more sluggish, although that may be just CIDER.

The things I loved:

  * helm mode - autocompletions for the commands
  * consistency - SPC + ... everywhere
  * REPL in a buffer
I understand that a month with Emacs isn't remotely enough to make up for years of VIM, but I didn't find enough benefits to stick with it.
Hello,

Very interested to know what was missing for you ? We do not have options for everything, but I'll gladly add more options if there is a reasonable use case for them. In other words, options only get added if someone requests them (and makes a good case for them).

scripting support is documented in: https://github.com/mawww/kakoune/blob/master/doc/interfacing...

well intentioned nit-pick: vim commands starting with a g are NOT chords, and that's very important from am usability standpoint. For the most part vim avoids chords, while E-macs embraces them. It's a question of whether you want to strain your hands (chords/emacs) or your brain (modal/vim) for triggering infrequent commands.
I would like to see an option for both in a text-editor - they are not as far apart as people assume. In emacs there are not enough chorded options for everything so after a while they switched to dead-key like operations. That is basically a modal interface where you have to keep the mode key depressed.

My dream editor would feature: * Three modes: insert, quick commands, a searchable palette for everything. * Configurable switch between modal/non-modal use of the command key. * On screen display for quick command mode (e.g. a partially translucent display of the keyboard when command mode is entered with icons to show what each key does).

The memorability issue for key-strokes doesn't really exist in a modern desktop environment. It is a relic of terminals with low bandwidth and poor support for multiplexing information. In a windowed / eye-candied environment the memorability of shortcuts should be a non-issue and discoverability of the command-set should be improved.

At this point I have to accept that I've said way too much in response to your nitpick and I will stop typing now :)

> * Configurable switch between modal/non-modal use of the command key.

This one is also provided in Spacemacs which is called editing style (vim, emacs or hybrid). It is possible to switch between them dynamically.

I like to think of Vim's way of doing things as arpeggios, where Emacs uses chords.
the last sentence is a good point! I am not very precise typer, and I use vim.

I work on different keyboards, actually 3 different layouts: external keyboard home and at work, home laptop, and work laptop (different one).

I think it would be difficult to do the emacs chords on different layouts. For basic vim usage I just need to adapt to 2 special keys - colon and slash (+ right shift). That takes just few minutes.