What is kakoune equivalent of vim's ';' ? ( jump to next find )

Hope the title is enough :stuck_out_tongue:

It’s <a-.>. . repeats the last change and <a-.> repeats the last movement.

You check out the mappings inside kakoune with :doc keys.

1 Like

For new user help try these plugins:
basic-interactions.kak you get some quick help with key mappings for example:
new-user-keys

And
out-of-the-box helpful new user experience without the plugin fuss.

Hope this helps. Bye.

1 Like

Thanks ! I’ll update the wiki on migrating from vim

Sound good, migrating from vim ← a good page to know, its provides kakoune insight and vim migration.
A must know, must use, must have key stroke for every user.
<s-[> is { and <s-]> is }

Updated basic-interactions.kak to include the kak info box pictures which should remove the last bit of ambiguity for new users.

Thanks for doing this @scr hope it helps new comers. I still use it so lifers as well. Bye :wave:

This may not be true for all keyboards, and layouts:

Although such keyboards are very rare.

Yep, edited the wiki at:
migrating from vim

; become <a-.>
<a-.> is used to repeat the last movement. It work with all the f t selection, but also with the <a-i> and <a-a> command. Type :doc keys in kakoune for more infos.

Actually <a-.> is useless for t, so imho t should not be mentioned for <a-.>.

good point ! it’s weird that it’s part of the official doc. Maybe it’s a bug

no, it’s actually repeats the movement, it just stuck if you’re still right before the character. There was a discussion on if Kakoune should jump over current match to the next one, but it seems there was no implementation for this feature.

Well for my user perspective it’s pretty clear that it should jumps to the next one.

Key Frequency Heatmap; Qwerty, Dvorak, Colemak, Workman.
Also a nice place just to practice your typing.

I see these results to be pointless for programmers. As well as all these “programming” layouts shuffling letters but keeping all special characters away and available only under pinky fingers.

For example on qwerty when using 10 finger touch typing, all these keys are pressed with pinky fingers: []-=~!’;/ as well BackspaceReturnTabShiftL CtrlEscCapsLk. And in comparison only these with ring fingers: )@>WinR Ctrl, and these with middle ones: <(*#$Alt. The rest are pressed with idex %^&. And thumb only used for S p a c e b a r

So what’s funny about that is that pinky is the weakest finger, and it got the most amount of keys - 16! Ring finger is a bit stronger, but got only 5 keys, which is 3 times less. Middle and Index are the strongest ones, while, middle got 6 keys, index only gets 3. And the strongest finger gets 1 huge key to press.

One famous alternative to qwerty is dvorak, and for programmers there is Programmer dvorak. And it got even more special keys for pinky fingers. Come on!

So in my humble opinion – keyboard layour that is optimized for programming should have all these common operators on the middle of keyboard, accessible by index and middle fingers, Shift, Ctrl and Alt modifiers should be accessed with thumb, as well as S P A C E B A R, and the rest letters are left primarely for ring finger, some for middle and the smallest amount for pinky.

In order to produce such layout we have to mine what letters are least popular in programming languages, and put those to pinky, those who are the most popular should go to ring finger, and those that are little bit less popular for middle, because middle also going to press special chars. All special chars can be arranged by popularity too, but in the middle of keyboard for index fingers to access. Given that we have only 10 keys which hold one special character and a number, we can put those on 5 keys with access via shift or alt. And we do have 5 keys that can easily be accessed by index fingers. And given that thumb will toggle keys state as well, I don’t think that this is a problem.

It would be interesting to to parse a lot of random code from git repo and make a frequency analysis. Maybe to it separatly for each language, so we can establish what is the “utlimate layout” for every language.

A second Idea is to have tiny bit different layout for different programming language. I have to change my layout when I code and went I write email. Bascicly the layout just change the coding charactere with charactere specific to my language, the rest is still the same qwerty.
Imagine changing from am html layout to a C++ layout: the layout is almost the but it remplace < > by { } for e. g.

Perhaps, once we will end up with screens instead of classic keyboards something like what you describe will be reliable. Until then:

typing

1 Like

lol nice gif
Why would you need a screen ? you should not look at your keyboard when typing + changing layout is as easy as setxkbmap <layout>

Well, first of all, screen helps learning different layouts, especially if you’re going to change those for each and every language, as you’ve suggested. Also with screen we can take this idea further, and input unicode, kinda like on mobile. This can be expanded even further to various tools like image editors, so instead of keys we display tool icons. Idea is not new:


But with the screen we have much more control and can add sliders, checkbocs and so on. The keyboard’s only advantage is that we can work without looking at it, but I think this is not due it’s physical presence, because I can type on by phone without looking at keyboard as well. I suggest you to watch this talk that is not strictly about this topic, but it illustrates that we’re still using computers as if those were straight out of 80’s.