知っているようで知らない秀丸の便利機能


投稿日:2014年10月15日
  • 5
  • 24



便利機能を全部知ってますか?

hidemaru_benri

浮世ではVim使いのVimmer(ビマー)がもてはやされています。
それだけでなく目下の最先端は「スタバでおもむろにMacBook Airを開き、WordPressをMarkdown記法で編集する」というスタイルです。

…しかし待ってください、漢のテキストエディタ「秀丸」を忘れていませんか?

秀丸は現在も進化を続けており、作業効率を大幅に向上させる機能が追加されています。そんな知っているようで知らない便利な使い方を紹介します。


目次

デザインの変更
矩形選択(くけいせんたく)
フォーマットの変換
強調表示
ウィンドウをタブモードで表示する
別のファイルと内容を比較する
関数や単語の補完表示
タブのインデント
自動世代保存
あいまい検索・正規表現による検索・置換
正規表現による置換
後方参照による置換
grepによる置換


デザインの変更

黒い画面に白い文字が一番目に良いので変更します。
その他 > ファイルタイプ別の設定」で「デザイン」を選択し、「リセット統一」ボタンから「黒い配色の配色にリセットする」を選択。

hidemaru_benri01

テキストファイルを書いているだけなのに、プログラミングをしている雰囲気を出すことができます。

hidemaru_benri02

矩形選択(くけいせんたく)

Ctrlを押しながらドラッグで縦の範囲で文字を選択することができます。

普通に複数行を選択すると以下のようになる。

hidemaru_benri03

Ctrlを押しながらドラッグで行頭の■を選択。

hidemaru_benri04

バックスペースで削除すると。一気に■が削除される。

hidemaru_benri05

再び行頭を選択して今度は●と入力しエンター。

一度にすべての行に●が挿入される。

hidemaru_benri06

他にもタブでインデントを合わせている場合、文字数によっては揃わない事がありますが、こんな時も一発でタブを挿入できます。

hidemaru_benri07
hidemaru_benri08

新人の女の子が背中を丸めながら●を1つずつ追加していたら、やさしく教えてあげましょう。


フォーマットの変換

意外に知らない人の多いフォーマットの変更。
ウィンドウの右下にあるフォーマットの文字をクリックして選択するだけです。

hidemaru_benri09

コピーライターが訳の分からないエディタで作成したファイルが文字化けしていても、何も言わずそっと変換してください。


強調表示

Markdown記法が話題になっていますが、タイトルと言えば古来よりの記述法「■や●」を使った方法です。

その他 > ファイルタイプ別の設定」で「デザイン > 強調表示」を選択し、「追加」ボタンで以下のとおり作成してください。

hidemaru_benri10
文字列 検索方法 表示方法
^[■].* すべてチェック 特に強調表示2
^[□◆◇●○◎].* すべてチェック 強調表示2
-{4,} すべてチェック 行の強調表示1
「.+?」 すべてチェック 強調表示1

行の強調表示1」をダブルクリックして「色の設定へジャンプ」を選び、プロパティの「背景の色」を多少薄くします。

hidemaru_benri11

ちなみに強調表示は設定したエディタでのみ有効なので、別のエディタで開いても強調されません。

hidemaru_benri46

ウィンドウをタブモードで表示する

複数のウィンドウを表示するとタスクバーに大量の秀丸ウィンドウが表示されて邪魔になりますが、タブ表示にすれば1つのウィンドウで複数のファイルを切り替えることができます。

ウィンドウ > タブモード」を選択する。

hidemaru_benri13

別のファイルと内容を比較する

バージョン違いや、バックアップとの相違点を探すのに便利な比較機能。
ウィンドウ > 他の秀丸エディタと比較」をクリック。比較したいファイルを選択して「常にファイル先頭から比較」にチェックを入れてから「指定」ボタンをクリック。

hidemaru_benri14
hidemaru_benri15

すると違う部分が赤で強調表示されます。

hidemaru_benri16

関数や単語の補完表示

公式ページに各種補完表示用の辞書」が用意されているのでダウンロード・解凍して適当な場所に保存します。(私の場合は秀丸フォルダに単語補完ファイルというフォルダを作って保存しました。)

PHPの場合の例

まずは適当なPHPファイルを開きます。

その他 > ファイルタイプ別の設定」で、「その他 > 単語補完」を選び、「単語補完の自動表示」にチェックを入れて、表示方法で「リスト」を選択、「詳細」ボタンをクリックします。

hidemaru_benri17

単語補完の自動表示の方法」で、待ち時間を「100」ミリ秒に、表示する文字数を「2」と入力して「OK」ボタンをクリック。

hidemaru_benri18

単語補完の検索対象で「現在編集中のテキスト」と「辞書ファイル」にチェックを入れ、先ほどダウンロードしたPHP用の単語補完ファイルを選択。さらに「詳細」ボタンをクリックします。

hidemaru_benri19

辞書ファイルの種類で「フリーフォーマット」下にある「リアルタイム入力」にチェックを入れて「OK」ボタンをクリック。

hidemaru_benri20

以上で設定は終了したので「OK」ボタンをクリックして確定します。

動作確認として、長くて嫌われる関数の代表「htmlspecialchars」を入力します。表示する文字数を2文字にしたので「ht」と入力した時点で候補に出ると思います。

hidemaru_benri21

あとは矢印キーの下で希望の候補を選んでエンターで確定します。

hidemaru_benri22

さらにこの機能の嬉しいのはすでに入力した単語も候補に表示されることです。WordPressなどCMS独自の関数は忘れがちになりますが、1度ページ内で記述したものは候補に表示してくれます。(geと入力しただけでget_template_partが候補に表示されている)

hidemaru_benri23

単語補完ファイルは単純に単語を箇条書きにしただけの構造なので、よく使う関数を自分で追加するのも良いと思います。


タブのインデント

複数行を選択した状態で「Tab」を押せば、複数行のインデントが可能。

hidemaru_benri24

不揃いのインデントを揃えたい場合は選択した状態で

hidemaru_benri25

Shift + Tab」で1度インデントを削除することができます。

ちなみにtabをスペース何文字分にするかは「その他 > ファイルタイプ別の設定」で「体裁 > タブ」にあるタブの文字数で変更できます。デフォルトの「8」だとちょっと広すぎるので、おすすめはスペース4つ文の「4」。

hidemaru_benri26

自動世代保存

昔はマクロで実行していましたが、新しいバージョンでは秀丸標準機能として世代バックアップが可能です。
その他 > ファイルタイプ別の設定」で「その他 > 保存・読込み」を選択して、「バックアップファイルの作成」と「世代バックアップ」にチェックを入れて「詳細」ボタンをクリック。

hidemaru_benri27

保存先を指定する」にチェックを入れて、作成方法で「指定フォルダに保存」、作成場所で「任意の場所(C:\temp)」を選択して、世代バックアップする場合の世代数で「5」を入力。「OK」ボタンをクリックします。

hidemaru_benri28

この状態でファイルを保存すると、本体のファイルの他に「C:\temp」に「ファイル名.BAK001」という拡張子のファイルが保存されます。世代数で5としたので「.BAK005」まで保存されます。
ちなみに常に「.BAK001」が一番新しく、番号が増えるにしたがって古い世代になります。

これで「ごめん。あの仕様また復活だって」と言われても平気です。


あいまい検索・正規表現による検索・置換

普通の文字列の検索は「Ctrl + F」もしくはメニューの「検索 > 検索」です。
テキストエディタとして普通に利用しているぶんにはこれだけでも十分なのですが、少し特殊なことをするとなると、あと一歩かゆいところに手が届きません。そんなときは以下の方法を試してみてください。

あいまい検索

検索画面にある「あいまい検索」にチェックを入れると、大文字小文字やひらがなカタカナの揺れを補正してくれます。
例えば「もぅマヂ無理。 彼氏とゎかれた。 」という難解な日本語も、「もうマヂ」で検索できます。

hidemaru_benri29

これは表現の揺れにも対応できるので便利です。例えば「もぅマヂ無理。 」「もうまぢ無理。」「もうマぢ無理。」と謎の揺れを持つ表現も置換作業で一発で成形できます。

hidemaru_benri30
hidemaru_benri31

英語の大文字・小文字、英語・数字の全角・半角、かなとカナなど、複数の条件を指定することができます。


正規表現による置換

正規表現は奥が深いので、詳細は専用のページに任せるとして、いくつか便利な例を紹介します。

複数の行頭に●を付ける

1つ2つなら簡単ですが、何10行となると手間です。「検索 > 置換」を開き、検索に行頭を表す「^」、置換に「」、正規表現にチェックを入れて「全置換」ボタンをクリック。

hidemaru_benri32

すると以下のようにすべての行頭に●が追加されます。

hidemaru_benri33

すべての置換を取り消したい場合は「Ctrl + Z」で「まとめてやり直す」にチェックを入れて「OK」ボタンで元に戻ります。

hidemaru_benri34

箇条書きの項目を「,(カンマ)」区切りにする

箇条書きに書きだされたデータをCSV形式にしたいときに便利です。検索に「\n」、置換に「,(カンマ)」。

hidemaru_benri35

後方参照による置換

置換の途中にランダムな文字列がある場合も後方参照を使えば簡単に置換できます。
後方参照とは「()(かっこ)」で囲まれたパターンに一致した文字を、置換の際に「\<num>」で再利用する方法です。

文字だけでは理解し難いと思うので、例で解説します。
以下のような文字列の場合に括弧の中身を残したまま「括弧で」と「されます。」を置換します。

hidemaru_benri36

検索に「括弧で「(.*)」されます。」、置換に「置換で「\1」変えました。」と入力して「全置換」をクリック。

hidemaru_benri37
hidemaru_benri38

括弧の中身は残したまま前後の文字を置換することができました。「.*」はすべての文字列という意味で、「\1」はパターンの1つ目を後方参照という意味です。

他にも「2014年10月15日」を「2014/10/15」という表記にしたいという場合なら、検索に「(\d{4})年(\d{1,2})月(\d{1,2})日」、置換に「\1\/\2\/\3」とします。

hidemaru_benri39
hidemaru_benri40

このように一見すると置換が難しそうな文字列も、正規表現を使えば置換が可能です。


grepによる置換

grep(ジーレップもしくはグレップ)」とはLinuxでお馴染みの検索コマンドです。
このコマンドを利用して、複数のファイルにまたがる文字列の置換をすることができます。

今回はサンプルとしてCドライブ直下に「新しいフォルダ」を作り、「01.txt」と「02.txt」を作成。
それぞれ中身は以下のようにしました。

hidemaru_benri41

メニューから「検索 > grepして置換」をクリック。
検索する文字列に「おはようございます」、置換する文字列に「こんにちわ」、検索するファイルに「*.txt」、検索するフォルダに「C:\新しいフォルダ」を選択して「置換」ボタンをクリック。

hidemaru_benri42

すると確認するダイアログが出てくるので2つとも「はい」にチェックを入れて「OK」ボタンをクリック。(grepで置換した後に上書きを行うため、実行結果が不安な場合は、必ずバックアップを作成してから実行しましょう。)

hidemaru_benri43

実行されるとgrepの結果を知らせるウィンドウが開きます。

hidemaru_benri44

この例では2つのファイルに実行して、2箇所置換したことがわかります。

置換した「01.txt」を開くと、正しく置換できていることがわかります。

hidemaru_benri45

このgrepをうまく使いこなせば、編集するファイルが数千あったとしても、ものの数分で置換できます。
プログラム中の関数が変更になったり、Wikiの文法をまとめて変更したいといった場合に重宝します。

このgrepは検索の際にも使えるので「特定のフォルダに保存されたPHPファイルの内、関数のechoを使ったファイルを探したい。」という場合も一発で一覧を作為することができます。

更に複雑な処理をしたいという場合は「大量のファイルを置換するならTextSS.netがおすすめ」で紹介したTextSS.netをお勧めします。


いかがだったでしょうか?
使い慣れた秀丸にも、実は知らない機能がたくさんあることを理解していただけたと思います。

これだけ使いこなせればあなたも立派なVimmerならぬ、Hidemmer(ヒデマー)です!

他にも便利機能知ってるよ!」という方はコメントください。



現在のページを共有する



現在のページに関連する記事


おすすめの記事


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。