Hi all,
I want to make a shortcut to a plugin command. The plugin is Delapouite’s kakoune-buffers, which I find tremendously useful. Just a keyboard shortcut is missing for my workflow.
I want to set either a mapping or an alias to buffer-by-index command. I tried using both, but failed. My idea is to use gn 2
to go to buffer 02, gn 8
to go to buffer 08, and so on…
Here are my attempts:
map global goto n 'buffer-by-index'
map global user n 'buffer-by-index'
alias global n 'buffer-by-index' #(since the plugin is "locked", I assume it can see the buffer numbers)
The line (obviously, I just use one of those at one time) is the very last after the plugin has been loaded in my kakrc
file.
Please, any advise is very welcome ;D
You’re pretty close! The correct syntax is
map global goto n ':buffer-by-index<ret>'
The map
command transforms keystrokes, it does not execute commands. So you have to pretend that you’re executing the command manually, and write it that way.
1 Like
Lesson learned! Thanks!
This triggers a question. If I write <ret>
after the buffer-by-index
command, I never have the chance to indicate which buffer I want to go to.
How could I make it happen?
(I forgot to enclose <ret>
in the second line above and was invisible, @raiguard ).
just add a spacing character after buffer-by-index
in your mapping and remove <ret>
.
This will result in prompting state waiting for your parameter when you use this shortcut.
No, it’s not working.
I can see the n in the goto pipe menu, but I cannot make it work as an alias (bash alias type) for the buffer-by-index command.
If you make a mapping in normal mode, the keys on the right-hand side will be “typed” in normal mode. Thus, the first key needs to be a :
to switch to prompt mode, then you can “type” the rest of the command.
If you make a mapping in goto mode, the keys on the right-hand side will be “typed” in goto mode. Thus, the first key probably needs to be <esc>
to switch to normal mode, followed by :
to switch to prompt mode, then you can “type” the rest of the command.
1 Like
Finally I understand it.
Thanks a lot! Just a miserable extra <esc>
and to understand how shortcuts work.
Maybe you could use the %val{count}
as an argument?
map global goto n ':buffer-by-index %val{count}<ret>'
Then you would type 2gn
.
Disclaimer: I haven’t tried the plugin you’re using.