結論
mintty >= 2.6.1 (2016/09/20 リリース) を利用して、
/etc/minttyrc
$APPDATA/mintty/config
~/.config/mintty/config
~/.minttyrc
のどれかに
AllowSetSelection=yes
を記載する (Win7 + mintty 2.7.6 で動作)
背景
ローカルマシン (Cygwin(mintty)) から ssh で作業用&踏み台サーバにアクセス
→ tmux を起動し各種サーバへログインしている環境で、
表示されている内容をマウスで選択 (or 選択モードで選択) してクリップポードに入れたいと常々思っていました。
検索すると、 ローカルマシンで tmux を実行している場合は putclip
とかを tmux の copy-pipe に渡す等の解決策がたくさん見つかりました。 しかし、 サーバで実行している場合はXの機能を使ったりやローカルマシンで tcp で待ち受けしているサーバプログラムを立ち上げて ssh 経由で流し込んでクリップポードに.. 等の中々環境が一般的でなかったり、 大変そうな方法で解決されていました。 (日本語で検索する限り)
OSC 52
というターミナルエミュレータの制御コードに対応していれば簡単にやりたいことが実現できるようです。 mintty >= 2.6.1 であれば、 AllowSetSelection=yes
を設定することができるようになっています。
前述した記事は2016/09以前に書かれていたもので、 かつ AllowSetSelection mintty
等で調べても日本語の記事が見つからなかった(2017/10現在)のでこの記事を書いています。
Allow control sequence to set selection (AllowSetSelection=false)
If enabled, the terminal control sequence OSC 52 is allowed to set the clipboard selection for pasting (using base64-encoded contents, like xterm).
このコンフィグはGUIの設定項目には無く、 コンフィグファイルに記載する必要があります。 (デフォルトは false
)
コンフィグファイルを変更すると、 マウスで選択するだけで、 ペインをまたがる事もなくローカルマシンのクリップポードに内容が反映されました。
良い Cygwin ライフを!
.。o(私は今だいぶ歓喜しているのですが、 実はみなさんこれ特に困ってないんですかね??何か私が見落としている...??)