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

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

$
0
0

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

たとえば

<ahref="/hogehoge/#FUGA_xxx"><ahref="/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を押してから@@する

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


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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