Vimのハノン、ツェルニー

vi-practice-title
アニメ『坂道のアポロン』(2012)
ナイーブで人付き合いが苦手で秀才でクラシックしか弾いたことがなかったボンが、千太郎に挑発されジャズにハマります。同時に律子に恋をします。お話は恋愛がメインなんでしょうけど、音楽がかっこいいです。まず 菅野よう子 x YUKIのオープニング「坂道のメロディ」、菅野よう子 x 秦基博 エンディング「アルタイル」。 劇中のジャズも楽しくて、特にボンと千太郎のジャズにみるみる生徒たちが体育館に集まる文化祭シーンは快心です。

タイトルの16進数で作られた坂道は、Vimで編集したものですが、ただVimで16進を書いて楽しんでいるわけではなく、Vimの訓練途中の画像です。
Vimの訓練って何かと言いますと、Vimを愛好している私が編集スキルを上げるため、かつ落とさないためにやっている鍛錬のことになります。ボンがあれほどジャズを上手く弾けるのは、基礎訓練、つまり、ハノン、ツェルニーを日々練習した賜物なのでしょうが、私も同じようにVimの基礎訓練をしています。ピアノと同じく、Vimを1日サボると、自分で腕が落ちているのに気づきます。
Vimの上達は、常に最短入力を意識して、コンボを編み出して、さらにそのコンボを手になじませなければなりません。訓練を怠ると手が鈍ってしまい、せっかく良い技を編み出しても、それを使う指が追いつきません。

さて、以下は私のよくやるVim訓練の一つです。

     1	i0x00[ESC]qqyyp[CTRL-a]q254@q
     2	:g/.*/j16[CR]
     3	gg
     4	:%s/0x//g[CR]
     5	ggqq
     6	jw[CTRL-v]Gk$hgey
     7	gvr[SPACE]
     8	Go[ESC]pq
     9	6@q
    10	:g/.*/m0[CR]
    11	:g/   /d[CR]
    12	:%s/\v(.)\1$//[CR]
    13	:set tw=1[CR]
    14	vip11>
    15	:map <F1> :g/\v(\w)\1/>[CTRL-v][CTRL-m]:v//<[CTRL-v][CTRL-m][CR]
    16  [F1]を繰り返し押して、訓練終わり

上に何を並べているかというと、Vimを起動してからの、一連のキー操作ということになります。
それぞれのキー操作は、以下のような意味になります。

1 キーボードマクロで0x00〜0xffまでの16進数を作っています。
2 16行毎に改行を入れています。
3 改行をいれた様子がわかるように一番上にカーソルを移動しています。
4 0xを削除して16進数のみにしています。
5 カーソルを先頭に位置決めして、新たにキーボードマクロを開始しています。
6 矩形選択をして、一旦ヤンクしています。
7 再度6の矩形選択をして今度は空白に置換しています。このとき空白に置換前のテキストはヤンクされます。
8 バッファの最後へ移動して、一行追加した後、ヤンクされているテキストをペーストしています。この時、キーボードマクロを終了しています。
9 5〜8までの一連の操作を記録したキーボードマクロを、6回実行しています。
10 バッファを上下入れ替えています。
11 穴の開いた部分を削除しています。
12 角を落として、坂道にしています。
13 >や<でインデントするサイズを1にしています。 14 vipで全選択、11回右にインデントしています。 15 F1キーにコマンドを割りつけています。 このVim操作をすると、以下のGIF動画のようにテキスト遊びができます。 vi-practice
画像は拡大しないと見えないかもしれません。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA