Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimで複数行の行末に拡張子を付ける

$
0
0

前置き

環境として MacVim を使用しています。
筆者はKaoriya版を使用しておりません。

概要

Vimで複数行の行末にヤンクした拡張子を貼り付ける方法です

やり方

1,
c_step1.png
こんなファイルが有ります。

2,
c_step2.png
".txt" の . にカーソルを置き、veyとキーを押して拡張子をヤンクします。
v = ビジュアルモードにする
e = 単語の終わりまでカーソルを移動
y = ヤンク(コピー)

拡張子が .txt.temp.hogeの様に単語が複数並ぶ拡張子の場合などは、
eの代わりに行末まで一気に行ける $を押しても構いません

3,
c_step3.png
0を押して行頭にカーソルを戻します

4,
c_step4.png
拡張子を付けたい行へジャンプします。
今回の場合 4ggで指定行へのジャンプが出来ました。

5,
c_step5.png
C-vで矩形ビジュアルモードにします。

6,
c_step6.png
Gを押して最終行までジャンプします。
今回はファイルの最終行までを指定していますが、jkキーで拡張子をつける行を任意に選択して下さい。

7,
c_step7.png
$を押してそれぞれ最終行まで選択します。

8,
c_step8.png
Aを押して、入力モードにします。
画像では見えてませんが、カーソルは選択した一番上の行の行末にあります。

9,
c_step9.png
ここからが重要です。
先ほどヤンクした拡張子を C+r"の順で入力しペーストします。
C+r = レジストレジスタから何か呼び出す準備です。
" = 最後をヤンクをレジストレジスタから呼び出します。

どうしてかは分からないのですがここで通常の Ctrl+vCommand+vをすると選択した行で失敗します。
なので、クリップボードからのコピペではなく、レジストレジスタからペーストして下さい。

10,
c_step10.png
ESCキーを叩いて入力モードを抜けます。
そうすると綺麗に選択した行の行末に拡張子が付いているはずです。

おわり

vimから特定のファイルをリストしているファイルがあって、それにファイル名+拡張子としたかったのですが、
今回の操作方法を調べていた所 9,の項目で「入力したい文字をタイプする」と書かれた記事は多く出てきましたが
ペーストして出来る内容の記事が探せませんでした。

vimに詳しい方いらっしゃいましたら、なぜ Ctrl+vCommand+vのペーストだとダメなのか教えてもらえると嬉しいです。

以上、参考になると嬉しいです。


追記:

打ち消し線で一部単語を修正しました。
レジスト > レジスタ に修正
macなので、Ctrl > Commandに修正

ご指摘有難うございました。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>