「5,000行のログの中から、エラーが出た箇所を探してください」
新人SEなら、一度はこんな場面に出会うだろう。スクロールしながら目で追うと数分かかる作業も、サクラエディタの機能を使えば数秒で終わる。
この連載では、サクラエディタを「メモ帳の延長」から「仕事の道具」に変える機能を全3回で紹介する。第1回は、調査作業の土台になる ジャンプ・Grep・ブックマーク の3つである。
【注意】
ショートカットはバージョンや設定で異なる場合がある。ご自分の環境で確認してほしい。
サクラエディタとは
サクラエディタは、Windows用の無料テキストエディタである。オープンソースで公開されており、動作が軽く、日本語の扱いに強いのが特長だ。Grep、正規表現、マクロなど、開発や調査に役立つ機能がそろっているため、SEの現場でも広く使われている。
練習用ファイルを用意しよう
実際に操作しながら試せるように、練習用のサンプルファイルを用意した。
サンプルファイル
筆者のGitHubリポジトリ Rocky-Seven/sakura-editor-learning
準備の手順
- 上記のリポジトリのページを開く
- 緑色の「Code」ボタンを押し、「Download ZIP」を選ぶ
- ダウンロードしたZIPを右クリックして「すべて展開」を選び、展開先を デスクトップ にする
- 展開されたフォルダの中にある
sampleフォルダが、練習用のファイルの置き場所である
【注意】
展開すると、sakura-editor-learning-mainフォルダの中にさらに同名のフォルダができることがある。その場合には、ファイルが見える階層までたどればよい。
ファイルの内容
| ファイル | 内容 |
|---|---|
app.log | 29行のシステムログ(ERRORが3件、WARNが2件含まれる) |
config.ini | 設定ファイル |
main.c | C言語のサンプル(ネストした括弧あり) |
util.c / util.h | main.c から呼ばれる関数の定義 |
サンプルファイルの安全性
サンプルファイルは、すべて テキストファイル である。GitHub上でも、ダウンロードする前に中身をそのまま確認できる。実行ファイル(.exe など)やスクリプトは含まれていない。
main.cなどのCファイルは、サクラエディタで開いて検索や移動を試すための素材である。
コンパイルや実行はしないでください。- 仮にコンパイルして実行しても、画面に文字を表示するだけである。ファイルの変更や削除、ネットワーク通信など、パソコンに影響する処理は書かれていない。
connect_dbも、実際のデータベースには接続せず、メッセージを表示するだけの関数である。
【注意】
第2回では、app.logに対して置換を試す。念のため、操作前にファイルをコピーしてバックアップを取ってほしい。
【参考】
ファイルの文字コードはUTF-8である。文字化けして表示される場合は、第3回で紹介する文字コードの指定を試してほしい。
以降の手順は、このファイルを使って試してみよう。
1. ジャンプ:目的の場所へ一瞬で移動する
指定行へジャンプ(Ctrl+J)
エラーメッセージに「12行目」とあれば、Ctrl+Jで行番号を入力するだけで、その行に移動できる。コンパイルエラーや設計書のレビュー指摘で毎日使う基本操作である。
【試してみよう】
サクラエディタでapp.log を開き、Ctrl+Jで 12 と入力する。ERROR E1003 DB接続エラー の行に移動する。
対括弧へジャンプ(Ctrl+[)
{} や () が深くネストしたコードで、対応する括弧へ移動できる。「このifはどこで閉じるのか」が一目で分かる。
【試してみよう】
サクラエディタでmain.c の8行目 if (connect_db() != 0) { の { にカーソルを置き、Ctrl+[を押す。対応する16行目の } に移動する。
2. Grep:複数ファイルをまとめて検索する
通常の検索(Ctrl+F)は、いま開いている1つのファイルの中だけを探す。
Grep(グレップ)は、フォルダ内の複数のファイルをまとめて検索し、結果を一覧で表示する機能である。「どのファイルの何行目に書いてあるか」を一度に調べられる。
サクラエディタを起動した状態で、Ctrl+Gでダイアログが開く。
基本の設定
| 項目 | 設定例 | ポイント |
|---|---|---|
| 検索ワード | ERROR | 探したい文字列 |
| ファイル | *.log や *.c | 対象を拡張子で絞る |
| フォルダ | デスクトップの sample フォルダ | 検索の起点 |
| サブフォルダも検索 | チェックON | 配下をすべて対象にする |
【参考】
フォルダは「参照」ボタンから選べる。サンプルファイルを開いた状態でダイアログを開くと、そのファイルのフォルダが最初から入力されていることが多い。
【試してみよう①】
検索ワードに ERROR、ファイルに *.log を指定して実行する。
別のサクラエディタのウインドウが立ち上がり、12行目、20行目、25行目の3件が一覧で表示される。
【試してみよう②】
検索ワードに connect_db、ファイルに *.c を指定して実行する。
別のサクラエディタのウインドウが立ち上がり、main.c の呼び出し箇所と、util.c の定義箇所が一覧で表示される。
「この関数はどこで使われているか」を調べる影響調査の基本である。
タグジャンプ(F12):結果から該当行へ飛ぶ
Grepの結果が表示されたら、結果の行にカーソルを置いてF12を押す(ダブルクリックでも可)。該当ファイルの該当行へ直接移動する。
移動後は「タグジャンプバック」(Shift+Ctrl+T または Shift+F12)で、Grep結果へ戻れる。
「飛んで、確認して、戻る」を繰り返すのが調査の基本である。
実務での使いどころ
- 影響調査:「この関数を変更したい。どこから呼ばれているか」を調べる
- 設定値の確認:特定の設定名がどのファイルに書かれているか探す
- ログ調査:特定のエラーコードが出ているファイルを洗い出す
注意点
Grepには「置換」機能もあるが、複数ファイルを一括で書き換えるため、必ず先に検索結果を確認してから実行すること。置換前に対象ファイルのバックアップを取っておくことをお勧めする。
3. ブックマーク:見るべき行に目印を付ける
調査中に「あとで見直す行」が増えてくると、スクロールで探し直す手間が増える。そこで、行に目印(ブックマーク)を付ける。
| 操作 | ショートカット |
|---|---|
| ブックマークの設定/解除 | Ctrl+F2 |
| 次のブックマークへ移動 | F2 |
| 前のブックマークへ移動 | Shift+F2 |
| すべて解除 | Shift+Ctrl+F2 |
【試してみよう】app.log の12行目、20行目、25行目でそれぞれCtrl+F2を押す。その後、12行目でF2を押すと、次のERROR行へ順に移動する。
検索にヒットした行を一括でブックマーク
「検索(s)」→「検索(F)」の検索ダイアログの「該当行をマーク」を使うと、検索ワードを含む行にまとめてブックマークが付く。ERROR で試すと、3行すべてに一度で目印が付く。
実務での使いどころ
- レビューで指摘する箇所のマーキング
- 長いソースで、数カ所を行き来しながら読む
- 「あとで直す行」の目印
まとめ:3つを組み合わせる
この3つは、組み合わせると効果が大きくなる。
- Grepで、怪しい箇所を複数ファイルから探す
- タグジャンプで該当箇所へ飛んで確認する
- ブックマークで、重要な行に目印を付ける
まずはGrepとタグジャンプだけでも、毎日の調査がかなり楽になる。
次回は「読む・編集する編」として、アウトライン解析・矩形選択・正規表現を紹介する。


コメント