putty上のvimで開いたテキストの文字列をWindowsのクリップボードにコピー

  1. putty上のvimで開いたテキストの文字列をWindowsクリップボードにコピーしたいが、素のvimではできない
  2. putty上のシェルのコマンドライン文字列なら、マウスによる範囲選択でクリップボードにコピーできる
  3. じゃあコピーしたい文字列をvimからコマンドラインに表示させればいいんじゃね?

というわけで、puttyからWindowsクリップボードに文字列をコピーする、えらくアドホックな手法を発案。


まず次のようなスクリプト(ファイル名pcp)を、パスの通ったディレクトリに置く。

#! /bin/sh

gawk "NR >= $1 && NR <= $2" $3

putty上のvimでテキストを開いているとき、7行目から9行目の文字列(の一部)をコピーして、Windowsで利用したくなったとする。その場合、次のコマンドをvimで実行すればよい。

:!pcp 7 9 %

そうすれば、コマンドの実行結果が表示されるので、それをマウスで範囲選択すれば、Windowsクリップボードにコピーされる。あとはそれを使えばよい。


なお、Windowsからputty上のvimへのコピーは、挿入モードでShift-Insertを押すことで可能。

追記(2009-04-10): クリップボードへの限定的なコピー手法

以下の記事の方法を使えば、限定的ながら、vimのビジュアルモードでWindowsクリップボードに文字列をコピーできる(コメント欄より)。

PuTTYを使ってリモートのシェル操作でWindowsのクリップボードにテキストをコピーする - Guyon Diary