Help us understand the problem. What is going on with this article?

Vimマクロ、言って聞かせてさせてみて

Vimマクロ、知らんかったけど、カンタンだったよ、という話

たとえば

<a href="/hogehoge/#FUGA_xxx"><a href="/hogehoge/xxx.html">

に変換したいとする。
これが50個くらいある。

変換したくない箇所もところどころあるし。
50個くらいなら手でやってしまうか?

そんなとき、Vimマクロ。

チョー簡単です。


#FUGAを消すのは、
#にカーソルをあわせて
df_で消せる。


そのあと.html
一回wを押してxxxの末尾に移動したあと
iして.htmlを手入力ESCすればいい。


あらかじめ\/hogehoge\/を/検索して、
wwlとかやれば、カーソル移動もできる

nで移動すれば、次も確認しながらイケる。

この①②③を
マクロで記録してしまおう

マクロ記録開始

qa(aじゃなくても、a〜zまでの文字ならなんでもいいはず)
(recordingとか表示される)

マクロ記録

①②③をやって
1行処理する

マクロ記録終了

q

マクロ実行

@a(aじゃなくても、a〜zまでの文字なら、対応するマクロが実行されるはず)

マクロ内にnを入れてしまったので
マクロ終了時、次の変換候補場所に移動してくれる。

あとは@a押してくだけ

直前のマクロを実行

@@

というキーバインドも用意されているので
目視しながら

@@ @@ @@ @@ @@ @@ @@ @@ @@・・・

と連打していくだけ。

変換したくない場所は箇所はnで次の候補へ移動すればOK。

(確認するまでもないなら100@qとかもできる)

まるで、
Vimという部下に一回、手順操作を見せてあげたあと、
あと同じようにやっておいて、

って言うような気軽さ。

クッソ便利で
なんで今までコレ活用しなかったのか、と
頭を抱えるレベルなので

みんなVim初心者に教えてあげよう。

おまけ

ヤンクしてデリートして、
デリートした内容じゃなくてヤンクした内容を貼りたいときは
"0p
でいける

マクロの中身を確認する

マクロはずっと保存されるっぽい。

:reg
でなんか見れる

特にqwとかでやりがちなwには
パニック時の操作が記録されてるかも(笑)

マクロの消し方

qa qとかで、何もしないを上書きしちゃうのが覚えやすいか。

nを先にするかあとにするか

nを先にすると、@@した瞬間、変換した箇所が表示されるので
それで問題ないか目視する。

シンタックスハイライトで、なんか壊れてないか確認できる。

nを前にすると、変換する前に、
そこを書き換えて大丈夫か目視する。

nをあとにすると、別ファイルを開いた時とかに
nを押し忘れると、文頭が壊れちゃうので注意。
nを押してから@@する

どっちでもいいんだけど、
どっちを多様するか決めておいた方が混乱しなくてすみそう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした