dotfiles/.config/kak/autoload/clipboard.kak

35 lines
1.2 KiB
Text

# Goal: better multi-selection behavior
# If we copy multiple selections, it should be copied s.t. each selection is on its own line
declare-option -docstring %{
Command for copying to system clipboard
} str clipboard_copy_cmd 'wl-copy'
define-command -docstring %{
Copies selections to system clipboard, splitting each selection onto new lines.
} clip-copy-split %{
evaluate-commands -save-regs 'a' %{
execute-keys '"ay'
edit -scratch
execute-keys '"a<a-P>a<ret><esc>gjd%<a-|>wl-copy<ret>'
delete-buffer
}
}
define-command -docstring %{
Copies selections to system clipboard, does not split selections onto new lines.
} clip-copy-verbatim %{
evaluate-commands -save-regs 'a' %{
execute-keys '"ay'
edit -scratch
execute-keys '"a<a-P>gjd%<a-|>wl-copy<ret>'
delete-buffer
}
}
map -docstring "yank the selection into the clipboard" global user y "<a-|> wl-copy<ret>"
map -docstring "paste the clipboard" global user p "<a-!> wl-paste -n<ret>"
map -docstring "paste the clipboard before" global user P "! wl-paste -n<ret>"
map -docstring "replace with the clipboard" global user R '"_d! wl-paste -n<ret>'