そのまま,ボコッと

これ分かった時,膝の力抜けましたよ.とはいえ,いつもの無知ゆえの話なのですが.

そんなこんなでちょっとした発見もあり,しかしながら「こんなことすら忘れるようになったら終わりだな」思いつつも,やっぱ信じられないので(笑,メモ.

今回は矩形ビジュアルモードでの切り貼りに関するお話.

先日こんな作業に出くわしました.感覚としてスプレッドシートでの作業をイメージして頂けると伝わり易いかもしれません.

例えば*1,こんな感じです.;

町域
赤堤
池尻
宇奈根
梅丘
大蔵
大原
岡本
奥沢
尾山台

郵便番号    市区町村    町域
156-0044    世田谷区    赤堤  アカツツミ
154-0001    世田谷区    池尻  イケジリ
157-0068    世田谷区    宇奈根   ウナネ
154-0022    世田谷区    梅丘  ウメガオカ
157-0074    世田谷区    大蔵  オオクラ
156-0041    世田谷区    大原  オオハラ
157-0076    世田谷区    岡本  オカモト
158-0083    世田谷区    奥沢  オクサワ
158-0086    世田谷区    尾山台   オヤマダイ

この上のブロックの先頭に,下の郵便番号列にあたるテキストを持って行きたい.

知らなかったのは貼り付け方.

てっきり,矩形ビジュアル挿入の要領で対象領域のすべての行の先頭文字を矩形選択して P 貼り付けかと思ったら,これは間違い.

正解は,挿入箇所左上端,上の例で言うと 1 行目の "町" のところにカーソルを置くだけ.その状態で p で良いとな.

続きを読む

えぇ... ただ置いていただくだけで結構です

言葉通り長くなりそうなので,まずここで tl;dr 的に.

今回の作業をもって,こんな設定を加えることにしました.;

xnoremap <expr> p 'pgv"'.v:register.'ygv<esc>'

見ての通り p コマンド,つまり「貼り付け*1」の操作に関するものです.

選択した範囲へ貼り付け*2た時にやられちゃう,クリップボードの書き換えをしないようにしています.
とは言え実はこれ,見掛けだけの話で,書き換えと言う処理は行われていなかったりするのですが.

簡単に分解しますと.

step key description
1 p 選択した範囲へ貼り付け
2 gv #1 で貼り付けた内容を選択
3 "v:registery 選択した範囲の内容をコピー
4 gv<esc> 最後にもう一度範囲選択し解除

つまりやっていることは,"書き換えを回避させる" ではなく,何でもない,"再度クリップボードにコピー" して書き変えていないように見せている,と言うだけ.

ここで最終的に参考とした情報はこちら.;

» Vim: how to paste over without overwriting register

また上述参照先にもありますが,「v:register ってイミフ」とか,「ごく一般的な使い方で十分」とかなら恐らく単純に,{rhs} で v:register なくても良いのかも.;

xnoremap p pgvy

と言う事でして.今回は,今まであった「何となく」であったレジスタ registers というものが「なるほど」に変わった事もあって,その辺り含め以下にメモ.

Smashed filter protects lens....Paper / SGPhotography77

*1:vim の世界では「プット」と呼ぶようです.この "p" と言うのは,一般的にあるような「貼り付け(ペースト) paste」の "p" ではなく,「プット put」の "p" なのかと,恐らくですが.

*2:正確にはレジスタと言われます.

続きを読む

写真,うざい

写真.app.

ios デバイス繋ぐ度に横の方からヌルっての.アレ.

もうさ我慢できないのね.鬱陶しいったらありゃしない.

だから,ヤってやったさ! ってのが今回のお話.小ネタです.

ここで取りあげると言うことですので cui 上での処置法になります.勿論 gui からでもできます.が,そちらについては触れません.別途参照を.

Smashed filter protects lens....Smashed filter protects lens.... / Stephen Michael Barnett
続きを読む

トントンってのがさ,つい.って話.(まーくだん変,じゃなく markdown 編)

markdown 形式での編集作業について.

ここで話題にしたいのは "改行" についてです.

<br> に展開されるあれです.

行末に半角のスペースを 2 つ以上入れる,というあれ

皆さんは markdown 形式上での作業中,この作法に煩わしさを覚えることってありませんか?

自分はしばしばあります.と言いますか,しょっちゅう.

とりわけ,入力作業にスピードが求められるようなシーン.

こんな状況下となりますと,「行末にスペース 2 個入れて return」というどうってことない単純な手続きが,それこそ「いちいち...」になってしまうのです.

そのうち「忘れる → 気になる → タイプ作業自体が乱れる → 集中できなくなる → ぶっち切りで置いてかれる → 慌てる → (闇)」といった悪循環の華が開くわけです.

だったらいっそのこと作業中一切忘れて集中し,後でまとめて修正なり調整をすれば,とも考えるわけです,当然.でもこれも結局,後へしわ寄せしただけの話で,それなりの手間を要する.

とこんな過ちを経て以下のような Vim script を用意して凌ぐことにしました,と言うのがこの度のお話です.


Space Bar (1 of 2)Space Bar (1 of 2) / Brett Jordan




続きを読む