Cygwin 環境でのコピー&ペーストをコマンドラインで
Python の動作環境をどうするかは常に悩みどころで、以前は Windows 上の VirtualBox で環境を作り、Cygwin から ssh することが多かった。が、最近は顧客要望もあって Windows の Anaconda を使うことが多くなってきた。とは言えファイルの操作は相変わらず Cygwin で行うので、Cygwin 環境上のワーキングディレクトリへ Anaconda のコンソールから cd するケースが多い。
Cygwin から
$ explorer .
とすると、エクスプローラがカレントディレクトリを開いてくれるので、パスをマウス操作でコピーすることが可能である。
Anaconda のコンソールで律儀に cd するよりは100倍楽だが、もう少し楽をしたいので少し調べてみたところ、/dev/clipboard の存在を知った。
$ echo hehehe > /dev/clipboard
とすると、Windows のクリップボードにコピーが出来る。こいつを cygpath と組み合わせると
$ cygpath -aw . C:\cygwin64\home\suzuki_takaharu\prj\geo_conv\test $ cygpath -aw . > /dev/clipboard
カレントディレクトリをクリップボードにコピー出来る。あとは適当な名前で alias してやれば良い。
$ alias _cpd="cygpath -aw . > /dev/clipboard"
Anaconda のコンソールでは Ctrl+v でペーストしても良いし、マウスの右クリックでもペーストがされる。
この問題は DOS 窓でしか動かないコマンドを動かす際にも付きまとうので、Cygwin を普段使いする人にはお勧めなテクニックである。