(Translated by https://www.hiragana.jp/)
キーボードマクロで繰り返し作業を楽に:いまさら聞けないVim(7)(1/3 ページ) - @IT

キーボードマクロでかえ作業さぎょうらくいまさらけないVim(7)(1/3 ページ)

定型ていけいのデータを加工かこうするときなど、おなじような作業さぎょう延々えんえんかえさなければならないときがあります。今回こんかいは、そういうときに便利べんりなキーボードマクロの使つかかた解説かいせつします。操作そうさのイメージがきやすいように、スクリーンショットをおお使つかって説明せつめいしています(編集へんしゅう

» 2011ねん09がつ27にち 0000ふん 公開こうかい

ユーザーの操作そうさ記録きろくして再生さいせい

 Vimは、ユーザーの一連いちれん操作そうさ記録きろくする「キーボードマクロ」という機能きのうそなえている。この機能きのう利用りようすると、記録きろく開始かいしから記録きろく終了しゅうりょうまでのあいだにユーザーが操作そうさした内容ないようをそのままさい利用りようできる。データの整形せいけいなど、おな作業さぎょうなんかいかえすようなときに活用かつようできる機能きのうだ。

 Vimを使つかうときは、基本きほんてきかえ作業さぎょうはすべてVimにやらせ、人間にんげんかんがえなければできない作業さぎょう集中しゅうちゅうして編集へんしゅう作業さぎょう効率こうりつげることをかんがえたほうがよい。すうかいでもかえすような処理しょりをするときは、キーボードマクロ機能きのう使つかって作業さぎょう効率こうりつげよう。

 前回ぜんかい紹介しょうかいした設定せっていファイルの1つに、日本語にほんご入力にゅうりょくがあったときはすべて挿入そうにゅうモードへ移行いこう自動的じどうてき入力にゅうりょくはじめさせるようにするファイルがあった。この設定せっていはWikipediaにある「常用漢字じょうようかんじ一覧いちらん」の項目こうもくのHTMLから加工かこうしたものだ。加工かこうにはキーボードマクロを利用りようしている。ここではこのデータの加工かこう処理しょりつうじて、Vimのキーボードマクロ機能きのう紹介しょうかいしよう。

加工かこうしやすいように余分よぶん部分ぶぶんをカット

 まず、Wikipediaにある常用漢字じょうようかんじ一覧いちらん項目こうもくのHTMLをテキストファイルとして保存ほぞんする。もとのテキストがUTF-8になっているてん注意ちゅういしよう。WindowsのVimではうまくあつかえないので、ブラウザでページのHTMLを表示ひょうじさせた状態じょうたいで、ぜんテキストをコピーし、gVimにけてファイルに保存ほぞんするといった手順てじゅん保存ほぞんするとよい。ほかのエディタや変換へんかんツールを使つかってWindowsのVimが利用りようできる形式けいしき変換へんかんしてもよいだろう。Mac OS XやLinux/FreeBSDではとく問題もんだいなく編集へんしゅうできる。

 保存ほぞんしたファイルは、UTF-8なら2.4Mbytesほど、Windowsのコピー&ペーストでつくると1.7Mbytesほどになる。くだりすうは2まんぎょうえている。すべて手動しゅどう作業さぎょうするのは絶対ぜったいいやだ。利用りようしたいのは、常用漢字じょうようかんじ一覧いちらんひょう特定とくていのカラムのだけだ。まず不要ふようなデータを削除さくじょしよう。

 常用漢字じょうようかんじ一覧いちらんてみると、最初さいしょ掲載けいさいされている漢字かんじは「」で、最後さいごは「うで」だ。検索けんさくでこの文字もじのある場所ばしょまでジャンプして、のちはビジュアル選択せんたく余計よけいなテキストを選択せんたくして削除さくじょする。まずは先頭せんとうから「」の1つまえくだりまでを1のように削除さくじょ

以降いこうは、番号ばんごうしたがって操作そうさしてみよう。

図1 「/亜[Enter]」で表の最初に掲載されている漢字の行へジャンプ 1 「/[Enter]」でひょう最初さいしょ掲載けいさいされている漢字かんじくだりへジャンプ
図2 1つ上の行へカーソルを移動させたら、「V」で行単位のビジュアルモードへ移行 2 1つうえくだりへカーソルを移動いどうさせたら、「V」でくだり単位たんいのビジュアルモードへ移行いこう
図3 「gg」などで1行目までジャンプ。「d」や「x」で選択した行を削除 3 「gg」などで1ぎょうまでジャンプ。「d」や「x」で選択せんたくしたくだり削除さくじょ
図4 1行目が「亜」のデータが掲載された行になった 4 1ぎょうが「」のデータが掲載けいさいされたくだりになった

 テキスト冒頭ぼうとう余計よけい文字もじれつをまとめて削除さくじょできた。今度こんどは、同様どうよう手順てじゅんで「うで以降いこうくだり削除さくじょする。つぎのように作業さぎょうすればい。

図5 「/腕[Enter]」で「腕」という文字がある行へ移動 5 「/うで[Enter]」で「うで」という文字もじがあるくだり移動いどう
図6 次の行に移動し「V」でビジュアルモードへ移行 6 つぎくだり移動いどうし「V」でビジュアルモードへ移行いこう
図7 「G」で最後の行まで移動し、「d」を押すなどして選択した行を削除 7 「G」で最後さいごくだりまで移動いどうし、「d」をすなどして選択せんたくしたくだり削除さくじょ

 ここまでの作業さぎょうは、前回ぜんかいまでに紹介しょうかいしてきたVimの機能きのう利用りようすればできる。「/キーワード[Enter]」「?キーワード[Enter]」で対象たいしょうとするくだりまで移動いどうし、「V」でビジュアルモードにはいって、「gg」や「G」でファイルの先頭せんとう末尾まつびまで一気いっき選択せんたくし「d」で削除さくじょという作業さぎょう使つかうテクニックなので、おぼえておくとよいだろう。

       1|2|3 つぎのページへ

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアIDについて

メールマガジン登録とうろく

@ITのメールマガジンは、 もちろん、すべて無料むりょうです。ぜひメールマガジンをご購読こうどくください。