Vimのハノン、ツェルニー

12-4.テキストエディタ(Vimやその他)
「坂道のアポロン」CM

アニメ『坂道のアポロン』(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]Gbgey
     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 sw=1 sb[CR]
    14	:%ce
    15	:3new
    16  数字をメモ
    17  :fu!F()[CR]
    18  関数を書く
    19  :call F()[CR]

上に何を並べているかというと、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にして、シフト幅も1にしています。sbはnewでスプリットするのを下側にしてます。 14 :centerコマンドで、全体をセンタリング 15 3newで、3行のスプリットをしています。 16 数字をメモしているだけです。 17 繰り返し実行するための関数定義開始 18 関数を書いています。 19 作成した関数をコールしています。 このVim操作をすると、動画のようにテキスト遊びができます。

コメント

タイトルとURLをコピーしました