47 lines
1.2 KiB
Text
47 lines
1.2 KiB
Text
define-command \
|
|
-docstring %{
|
|
Replace the selections with the date, with the args passed as a
|
|
string to date -d.
|
|
} \
|
|
insert-date -params 0.. %{
|
|
evaluate-commands -draft -save-regs '|"' %{
|
|
set-register | "date -d '%arg{@}' '+%%Y-%%m-%%d' | tr -d '\n'"
|
|
echo -debug "Inserting date: %reg{pipe}"
|
|
# we delete the trailing newline
|
|
execute-keys '|<ret>'
|
|
}
|
|
}
|
|
|
|
alias global date insert-date
|
|
|
|
define-command -params 2 \
|
|
swap %{
|
|
evaluate-commands -save-regs | %{
|
|
set-register | %exp{
|
|
sed "s/%arg{1}/𝅙/; \
|
|
s/%arg{2}/%arg{1}/; s/𝅙/%arg{2}/"
|
|
}
|
|
execute-keys '|<ret>'
|
|
}
|
|
}
|
|
|
|
define-command -params 2 \
|
|
-docstring %{
|
|
Swap all occurence of param A with param B in selections.
|
|
} \
|
|
swap-buffer %{
|
|
evaluate-commands -save-regs "ab" -draft %{
|
|
set-register a %arg{1}
|
|
set-register b %arg{2}
|
|
execute-keys "<percent>s\Q<c-r>a\E|\Q<c-r>b\E<ret>"
|
|
swap "%arg{1}" "%arg{2}"
|
|
}
|
|
}
|
|
|
|
define-command regswap -params 2 %{
|
|
evaluate-commands -draft -save-regs "abcd" %{
|
|
set-register a %arg{1}
|
|
set-register b %arg{2}
|
|
execute-keys -draft '"xZZs\Q<c-r>a\E<ret>"cZzs\Q<c-r>b\E<ret>"dZ"cz"bR"dz"aRz'
|
|
}
|
|
}
|