前置き
環境として MacVim を使用しています。
筆者はKaoriya版を使用しておりません。
概要
Vimで複数行の行末にヤンクした拡張子を貼り付ける方法です
やり方
1,
こんなファイルが有ります。
2,
".txt" の . にカーソルを置き、vey
とキーを押して拡張子をヤンクします。v
= ビジュアルモードにするe
= 単語の終わりまでカーソルを移動y
= ヤンク(コピー)
拡張子が .txt.temp.hogeの様に単語が複数並ぶ拡張子の場合などは、e
の代わりに行末まで一気に行ける $
を押しても構いません
3,0
を押して行頭にカーソルを戻します
4,
拡張子を付けたい行へジャンプします。
今回の場合 4gg
で指定行へのジャンプが出来ました。
5,C-v
で矩形ビジュアルモードにします。
6,G
を押して最終行までジャンプします。
今回はファイルの最終行までを指定していますが、jk
キーで拡張子をつける行を任意に選択して下さい。
7, $
を押してそれぞれ最終行まで選択します。
8, A
を押して、入力モードにします。
画像では見えてませんが、カーソルは選択した一番上の行の行末にあります。
9,
ここからが重要です。
先ほどヤンクした拡張子を C+r
"
の順で入力しペーストします。C+r
= レジストレジスタから何か呼び出す準備です。"
= 最後をヤンクをレジストレジスタから呼び出します。
どうしてかは分からないのですがここで通常の Ctrl+v
Command+v
をすると選択した行で失敗します。
なので、クリップボードからのコピペではなく、レジストレジスタからペーストして下さい。
10,ESC
キーを叩いて入力モードを抜けます。
そうすると綺麗に選択した行の行末に拡張子が付いているはずです。
おわり
vimから特定のファイルをリストしているファイルがあって、それにファイル名+拡張子としたかったのですが、
今回の操作方法を調べていた所 9,の項目で「入力したい文字をタイプする」と書かれた記事は多く出てきましたが
ペーストして出来る内容の記事が探せませんでした。
vimに詳しい方いらっしゃいましたら、なぜ Ctrl+v
Command+v
のペーストだとダメなのか教えてもらえると嬉しいです。
以上、参考になると嬉しいです。
追記:
打ち消し線で一部単語を修正しました。
レジスト > レジスタ に修正
macなので、Ctrl > Commandに修正
ご指摘有難うございました。