parent
c8919c6f14
commit
ea0e582d8a
@ -0,0 +1,40 @@ |
||||
_cb-yank() { |
||||
AA=$(clippaste 2>/dev/null) && CUTBUFFER="$AA" |
||||
zle yank |
||||
} |
||||
_cb-kill-line() { |
||||
zle kill-line |
||||
printf "%s" "$CUTBUFFER" | clipcopy 2>/dev/null |
||||
} |
||||
_cb-kill-whole-line() { |
||||
zle kill-whole-line |
||||
printf "%s" "$CUTBUFFER" | clipcopy 2>/dev/null |
||||
} |
||||
_cb-kill-word() { |
||||
zle kill-word |
||||
printf "%s" "$CUTBUFFER" | clipcopy 2>/dev/null |
||||
} |
||||
_cb-backward-kill-word() { |
||||
zle backward-kill-word |
||||
printf "%s" "$CUTBUFFER" | clipcopy 2>/dev/null |
||||
} |
||||
_cb-copy-region-as-kill() { |
||||
## https://unix.stackexchange.com/questions/19947/ |
||||
zle copy-region-as-kill |
||||
zle set-mark-command -n -1 |
||||
printf "%s" "$CUTBUFFER" | clipcopy 2>/dev/null |
||||
} |
||||
|
||||
zle -N _cb-yank |
||||
zle -N _cb-kill-line |
||||
zle -N _cb-kill-whole-line |
||||
zle -N _cb-kill-word |
||||
zle -N _cb-backward-kill-word |
||||
zle -N _cb-copy-region-as-kill |
||||
|
||||
bindkey '^y' _cb-yank |
||||
bindkey '^k' _cb-kill-line |
||||
bindkey '^u' _cb-kill-whole-line |
||||
bindkey '\ed' _cb-kill-word |
||||
bindkey '\e^?' _cb-backward-kill-word |
||||
bindkey '\ew' _cb-copy-region-as-kill |
@ -0,0 +1,27 @@ |
||||
{ stdenv, lib }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "zsh-clipboard"; |
||||
version = "1.0"; |
||||
|
||||
src = ./.; |
||||
|
||||
dontBuild = true; |
||||
|
||||
installPhase = '' |
||||
install -D -m0444 -t $out/share/zsh/plugins/clipboard ./clipboard.plugin.zsh |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
description = "Ohmyzsh plugin that integrates kill-ring with system clipboard"; |
||||
longDescription = '' |
||||
Ohmyzsh plugin that integrates kill-ring with system clipboard. |
||||
|
||||
Key bindings for C-y, C-k, C-u, M-d, M-backspace and M-w are rebound. |
||||
Behaviour of these keys should not be changed. |
||||
''; |
||||
license = licenses.mit; |
||||
maintainers = with maintainers; [ bb2020 ]; |
||||
platforms = platforms.unix; |
||||
}; |
||||
} |
Loading…
Reference in new issue