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