From 59465469fa44184cee825d2650cd9107b233467e Mon Sep 17 00:00:00 2001 From: thek4n Date: Fri, 7 Mar 2025 15:33:53 +0300 Subject: [PATCH] zsh visual copy to system clipboard --- home/user/.config/zsh/aliases | 2 +- home/user/.config/zsh/mappings | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/home/user/.config/zsh/aliases b/home/user/.config/zsh/aliases index 0d07f3d..5f8a9a0 100644 --- a/home/user/.config/zsh/aliases +++ b/home/user/.config/zsh/aliases @@ -136,7 +136,7 @@ alias pastewww='curl --data-binary @- paste.thek4n.ru/' # clipboard if [[ "${OSTYPE}" == "linux-gnu"* ]]; then if [ -n "${DISPLAY}" ]; then - alias copy='xclip -selection clipboard -i' + alias copy='sed -z "$ s/\n$//" | xclip -selection clipboard -i' alias paste='xclip -selection clipboard -o' else alias copy='read -rd "EOF" TTYCLIPBOARD' diff --git a/home/user/.config/zsh/mappings b/home/user/.config/zsh/mappings index 002b8ed..15367fe 100644 --- a/home/user/.config/zsh/mappings +++ b/home/user/.config/zsh/mappings @@ -7,6 +7,17 @@ bindkey -v bindkey -M visual 'i' vi-insert bindkey -M visual 'a' vi-add-next + +# Yank to the system clipboard +function vi-yank-xclip { + zle vi-yank + echo -n "$CUTBUFFER" | copy # alias 'copy' from earlier loaded file +} + +zle -N vi-yank-xclip +bindkey -M visual 'y' vi-yank-xclip + + bindkey ' ' magic-space bindkey '^K' up-line-or-history # C-k