tmux-yank icon indicating copy to clipboard operation
tmux-yank copied to clipboard

WSL clip.exe doesn't support utf8 characters

Open melink14 opened this issue 5 years ago • 2 comments

Noticed this while working on some Japanese parsing but whenever I copied with tmux yank, the later paste would be garbled text.

Eventually, tracked it down to clip.exe not supporting it. For full support there are two reasonable options:

  1. powershell.exe -command "Set-Clipboard" -Value "text to copy" which most WSL environments probably already have but would require some work to accept the argument from STDIN. (bash function or script)

  2. utf8clip dotnet program which works just like clip.exe but handles utf8. I chose to use this one and there's no issue either though it was probably a bit more work than 1 in the end...

I used a if-shell conditional to only override the command if the better command existed to make it easier to share my dotfiles.

melink14 avatar Aug 08 '20 04:08 melink14

I add those in my .tmux.conf, it works

if-shell '[ -n "$WSL_DISTRO_NAME" ] && command -v powershell.exe >/dev/null 2>&1' {
  set -g @override_copy_command \
  'customclip(){ local STDIN=$(cat -); powershell.exe -command "Set-Clipboard" -Value "$STDIN"; }; customclip'
}

menghuu avatar Apr 07 '23 03:04 menghuu