「それ,エクセルでやった方,早いよ😏」(😱)

目の当たりにして,凍りついたのでメモ.

例えばこのようなくさったデータが幾つかあったとします.

f:id:wooweezoowee:20180428061139p:plain

そのテキストデータには,上下方向に,それぞれに対応した関係でアイテムが並ぶ塊が,複数あります.

これを横方向に,かつ並べ方は,下のブロックを上のブロックの "前" に持っていきたいのだそうです.

信じられないことに,カット&ペーストを繰り返しはじめた人の作業を見ていて,放たれた声が,信じられないことに,「それ,エクセルでやった方が早くない?」

Vim なら,Vim

f:id:wooweezoowee:20180428041509g:plain

CTRL-v 矩形ビジュアルモードに入って,対象データを選択,x 切り取って,貼り付けたい領域の左上端にカーソル持ってって,SHIFT-p 前に貼り付け.

各アイテムの文字数がバラバラで,凸凹でも OK.

f:id:wooweezoowee:20180428041527g:plain

ただし

上のように,各アイテムの長さが異なり,行末の位置がそれぞれにバラバラの場合,後ろに追加する方法が分かりません orz...

このようになってしまいます.

f:id:wooweezoowee:20180428041540g:plain

唯一知っているのは,貼り付ける前に,一番最初の行で,一番長い行の行末位置以上のスペースを入れた上で張り付け,という方法.

正直,決してスマートではない.

f:id:wooweezoowee:20180428041547g:plain

リソースはこちらです.

» How do I paste a column of text after a different column of text in Vim? - Stack Overflow

あとは,考え方を変える,でしょうか?
"後ろに追加" ではなく,違う方を "前に挿入".

f:id:wooweezoowee:20180428041553g:plain

いやね,たったそれだけのために,わざわざエクセル起動する必要なんかないのに,って話なのですけどね.

とは言え,
照明が落ちた部屋の中,唯一煌々と光を放つプロジェクターの画の中で,エクセルが起動する様を,大の大人達がただ黙ってじっと待つ風景にいる自分に,ちょっとゾッととしたわけでして.

ということで,はい,おしまい.