LoginSignup
1
1

More than 5 years have passed since last update.

msys2+nanoでOSクリップボードのコピペ

Last updated at Posted at 2017-04-18

Windows7/msys2+mintty+bash前提。

microを使いたかった

Micro - Home

nanoがよかったのでmicroも使いたかった。なぜならシステムのクリップボードにコピペできるらしいから。神か。

いま熱い最新スクリーンエディタmicro ことはじめ - Qiita

Chocolateyでインストールしようとしたらなんかエラー吐かれたので、とりあえずバイナリ落として~/binに置いた。

んで起動してみたら、no suitable screen availableとかエラー吐かれた。

なんかCygwinかそれ系では動かないらしい。(no suitable screen available. Conemu Windows 10 · Issue #201 · zyedidia/micro

げひー。

nanoでOSクリップボードのコピペをしたい

萎えたが、諦めてnanoでコピペすることを考える。

Vimもそうだが、おおかたのターミナルエミュレータ上で動作するテキストエディタでは、いわゆる「クリップボード」がOS標準のソレとは独立しており、相互にコピペできない。

とはいえVimだと+clipboardでビルドされてると直接コピペめいたことができたりもする。(vimエディタからクリップボードを利用する。 — 名無しのvim使い

nanoにはこういったオプションはないようだ。

ただし、nanoはターミナルエミュレータ、この場合はmintty上で動作しているわけで、minttyの機能でコピペはできるのではないか。

minttyでペースト(成功)

minttyでは、デフォルトではShift+InsertでOSクリップボードからのペーストができる。これは、nano上でも問題なく動作した。

minttyでコピー(失敗)

minttyでは、デフォルトでは文字列をマウスで選択することでコピーができる。

が、nanoではマウスによる文字列選択ができない。マウスクリックでカーソル移動はできるが、ドラッグで選択はできないのだ。

キーボードで文字列選択はできるが、当然これではコピーされない。

これはmintty前提の話だが、他のターミナルエミュレータでも難しいように思われる。

/dev/clipboardでコピー(成功)

仕方ないので、別の手を考える。

nanoの外にテキストを出す方法は、バッファをファイルに書き込むしかない。

そこで、神は我々に/dev/clipboardを与えられた。

かなり無理矢理だが、以下の方法で「現在のバッファの指定のテキスト」を/dev/clipboardに書き込むことが可能。

  1. 現在のバッファでテキストのコピーないしカットをする。
  2. ctrl+rで新規バッファを作成し、meta(opt)+>(<)で切り替え。
  3. ctrl+uでアンカット(貼り付け)
  4. ctrl+oでバッファを保存。ファイル名を/dev/clipboardにする。(上書き保存)

正味やってらんないので、そこまでするくらいなら大人しくVimを使ったほうがいいと思う。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1