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

【vimめも】 6. 複雑な繰り返し処理

$
0
0

キーの一連の操作を記録して実行できる機能(マクロのようなもの)

記録を開始する

  • q + ${0-9a-zA-Z"} : 記録状態になりタイプした文字をレジスタに記録する

記録を終了する

  • q : 記録状態を解除する(記録の終了)

記録を実行する

  • @ + ${0-9a-z".=*+} : レジスタの内容を実行する。3@aのように前に数字をつけることで、複数回連続して実行もできる

注意点!!

レジスタに登録するため、ヤンクなどで同じレジスタを使用すると上書きされてしまう。
どのレジスタを何に使うかなどは考えながら使おう

【使用例】

各行に同じ操作を行いたい時

foo#<=ここの行頭にカーソル(normalモード)barbazqux

qa : aレジスタでレコーディング開始

0 : 行頭に移動
v : ビジュアルモード
e : 単語の末に移動
y : ヤンク
<S-i> : 行頭から挿入モード
def : 文字を挿入
<C-[ : 挿入モードを抜ける
o : 1行追加し挿入モード
p " : 文字を挿入
<C-r>" : 無名レジスタの内容を貼り付け
<C-[ : 挿入モードを抜ける
end : 文字の挿入
<C-[ : 挿入モードを抜ける

q : レコーディング終了

deffoop"foo"end#<=カーソルここの行末barbazqux

j : 次の行に移動
@a : aレジスタに記録した内容を実行

deffoop"foo"enddefbarp"bar"end#<=カーソルここの行末bazqux

j : 次の行に移動
@@ : 前回と同じ記録を実行
j : 次の行に移動
@@ : 前回と同じ記録を実行

deffoop"foo"enddefbarp"bar"enddefbazp"baz"enddefquxp"qux"end

Viewing all articles
Browse latest Browse all 5608

Trending Articles



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