30 lines
1 KiB
Text
30 lines
1 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
|
|
|
|
define-command clip-copy-split %{
|
|
evaluate-commands -save-regs 'a' %{
|
|
# copy all selections
|
|
execute-keys '"ay'
|
|
# create a scratch buffer
|
|
edit -scratch
|
|
# paste all selections, separate lines, delete last newline
|
|
# select all, copy to clipboard
|
|
execute-keys '"a<a-P>a<ret><esc>gjd%<a-|>wl-copy<ret>'
|
|
delete-buffer
|
|
}
|
|
}
|
|
|
|
define-command clip-copy %{
|
|
evaluate-commands -save-regs 'a' %{
|
|
execute-keys '"ay'
|
|
edit -scratch
|
|
execute-keys '"a<a-P>gjd%<a-|>wl-copy<ret>'
|
|
}
|
|
}
|
|
|
|
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>'
|
|
|