‘mi’ タグのついている投稿

テキストエディタmiがバージョン3.0でかなり機能強化されていた

2018/06/25

 EPUBを作るためにフリーのmac用テキストエディタ「mi」(旧ミミカキエディット)のバージョン2.1を愛用していたのですが、そろそろOSのバージョンが上がってきて64bit対応しなければならないのが見えてきたので正式リリースバージョンの出ていたバージョン3.0を試したところ、かなりの機能強化がなされていたようなのでちょっと紹介です。以下新機能や前からあったけれど良いなと思っている機能を箇条書きで。

1.タブセットを保存

タブセットを保存

タブセットを保存

 miはもともとタブ表示機能を持っていたテキストエディタでしたが、3.0で開いていたタブの情報を保存しておけるようになったようです。作業切り替え時などに混乱を防ぐために開いていたタブを一旦閉じざるを得ないことはよくあるので有難いかも。

2.ファイルパスをコピー

ファイルパスをコピー

ファイルパスをコピー

 地味だけど現在開いているファイルのパスをコピーできる機能が追加。コード書いている時などにターミナルで動作テストはよくやるので有難いかも。

3.強化された検索置換機能

強化された検索置換機能

強化された検索置換機能

 検索置換関係が相当機能強化されている様子。一度設定した検索置換セットを「検索メモリー」機能で名前を付けて保存しておけます。スゴい便利そう。それから置換テーブルを別ファイルで用意して一括置換もできるようになったようです。また、「一致テキストを新規ドキュメントに抽出」などという機能も見えます。正規表現もドロップダウンメニューから選んで入力できるように。

4.マルチファイル検索/マルチファイル置換

マルチファイル検索

マルチファイル検索

マルチファイル置換

マルチファイル置換

 miには2.1からマルチファイル検索の機能がありましたが、3.0でマルチファイル置換の機能が加わって強力になりました。一度マルチファイル検索を実行してから置換対象ファイルを選んで置換を実行する形なのもうれしい感じ。置換実行前にファイルをバックアップなどという機能もあって至れり尽くせり。この辺の機能でうっかりミスをやらかすと悲劇が待ってますからね。

5.コードの折りたたみ表示

コードの折りたたみ表示

コードの折りたたみ表示

 コードの折りたたみ表示にも対応したようです。長めのスクリプトを書くときに全体の見通しが良くなりそう。

6.見出しリスト

見出しリスト

見出しリスト

 見出しをリスト表示してクリックでジャンプ。まあこれは2.1からあった機能なんですが便利なので紹介。EPUB用のXHTMLとかだとかなり長めのテキストを編集することになるので見出しで飛べるのは有難いです。

7.テキストの比較

テキスト比較

テキスト比較

 いわゆるdiff機能ですがかなり機能強化されたようで「ファイルと比較」「クリップボードと比較」などの機能が増えたほか、設定すればgitやsubversionとの連携もできるようになった模様です。

8.モード機能

モード機能

モード機能

モード編集画面

モード編集画面

 miと言えば「モード」機能が強力無比です。自分で「モード」を作ってよく使うタグコマンドなどを簡単に入力できるようにし、特定の用途用の専用エディタに仕立て上げることができます。ショートカットもカスタマイズできますし各種スクリプトも仕込めるのでまあ相当なことができるわけです。私はこんな感じで使ってます。

9.縦書きモード

縦書き表示の対応

縦書き表示の対応

 今回から縦書き表示にも対応したようです。設定すれば原稿用紙風の表示も可能。簡単なワープロ代わりとしても使えるようになってきた感じでしょうか。

10.サブ画面表示

サブ画面表示

サブ画面表示

 画面を左右2分割して参照テキストを表示しながら編集できるようになりました。CSSファイルを開いてクラス名を確認しながらXHTMLを修正するなどのシーンで威力を発揮しそう。

11.ビューの縦分割

画面分割表示

画面分割表示

 編集中のテキストの縦分割表示もできます。同一ファイル内でのコピー&ペースト作業は日常的に発生するので有り難いかと。

12.単語の自動ハイライト

単語の自動ハイライト

単語の自動ハイライト

 個人的にスゴいなと思ったのがコレ。カーソルを置いた場所を含む単語を自動識別して同じ単語をリアルタイムでハイライト表示します。挙動を見る限りではどうやら形態素解析まではやっていないようで、連続する漢字/カタカナ/ひらがな/英文字を識別しているだけのようですがまあ挙動も軽いしそれで必要十分な感じ。ナチュラルに修正の見落としが減りそうで素晴らしいです。

13.テキストハイライトパレット

テキストハイライト表示

テキストハイライト表示

 特定の単語を指定してハイライトさせることもできます。「テキストハイライト」パレットに単語を登録してやればOK。ハイライト単語リストを複数登録しておいて切り替えて表示させることもできるようです。

14.テキスト情報パレット

テキスト情報

テキスト情報

 「テキスト情報パレット」で、特定の文字のUnicode値などを気軽にチェックできるようになりました。これ個人的にはとても嬉しいです。macOSの以前のバージョンではmi等でテキストを選択してATOKの文字パレットを開くとコードポイントがチェックできていたのですが、バージョンアップで出来なくなってしまっていたので。

15.プレビューパレット

プレビュー表示

プレビュー表示

 今回からXHTMLなどの表示結果をプレビューモードで見ながら編集できるようになりました。縦書き表示の結果もきちんと反映されていましたので、そこまで凝ったレイアウトでもなければ十分役に立ちそうです。

 どうでしょうか。なかなか山盛りの機能追加で見ていて嬉しくなって来てしまいます。これがフリーウェアで本当にいいのかという感じ。触れる環境にある方はぜひ試してみてください。

(2018.6.26)

mi内でタグ以外の箇所の半角英数字を一括全角置換したい

2018/04/05

 電書で縦書きの本を作ることが多いため、テキストエディタ「mi」内でXHTMLファイル内の半角英数字を全角に打ち替えなければならないことが時々あります。なんでそういうことになるのかと言えば、InDesignのデータ内では半角の英数字でも段落の設定次第で正立させて表示できるんですね。でもXHTMLとして書き出してしまうとそういう設定は飛んでしまうので半角英数字として横転してしまいます。なのでこれまでできるだけInDesign内で半角から全角に置換するようにしていましたが、やはり書き出してしまってから置換できてなかったのが判明して手で打ち替えるというケースがそれなりにあり、特に長めの単語ではめんどくさいし入力ミスが怖いなーと思っておりました。
 ということで普段使っているテキストエディタ「mi」内で気軽に置換できるようにしたので以下メモです。

やりたいこと

  1. miに書き出した段階ではXHTMLタグテキストの編集になるため、タグ部分は除外して置換処理をしたい
  2. テキスト全体ではなく該当部分を選んで置換処理をかけたい
  3. できるならショートカットで置換できるように設定したい

Perlでの置換処理の内容

 Perlで処理するための置換コード自体は以下。処理としてはテキストを<>で括られた文字列(要はXHTMLのタグ)を区切り文字として分割し、配列内各要素がタグかどうかを判定してタグではないものに対してのみ置換処理をかけています(なので使用者がタグの真ん中あたりから適当に範囲選択したりするとアレなことにはなるけどそれは無視)。ここいらのコードは市川せうぞーさんにヒントをいただきました。ありがとうございます。

ワンライナー化してAppleScriptに組み込む

これをワンライナー化してAppleScriptに組み込むことでmiでの現在の選択部分に対して置換をかけられるようになります。

 なお「on run」「end run」の行に関してはmi内のツールから実行するための記述なので、単体アプリとして保存して使うならなくてよいです。範囲選択した状態でアプリを実行すれば大丈夫。
miのモードにスクリプトを組み込む方法については詳述はしないのでmi公式ページなど見てください。実例としては以前に作ったこれの「その他」(Miscellaneous)フォルダに各種仕込んだりしてます。

キーボードショートカットで使えるようにしてさらに便利に

 で、これをキーボードショートカット一発で使えると本当に快適だなーと思って調べていたのですが、macOS設定メニュー内、キーボード項目のショートカット設定で行けるという情報を見つけました。素晴らしい! 何でも行けるじゃないですかこれなら。

 ということで早速設定。ついでにひらがな←→カタカナの変換も仕込みました。そちらもタグは除外して置換するようにしました。まあXHTMLのタグ内にカナとか漢字が混じってるとは思えないけど。

タグの部分以外が一括で置換された

タグの部分以外が一括で置換された

 他にも仕事ごとにいろいろ仕込んで使えそうだけどまあそこいらはおいおい。

(2018.4.5)

テキストエディタ「mi」用「電書協EPUB用XHTML」モード

2013/06/26

「ツール」全メニュー一覧

「ツール」全メニュー一覧

 緊デジで採用されている電書協EPUB3制作ガイドはあらかじめ必要と思われるプロパティ要素をほぼ全てCSSでclass名として規定しておき、それを選択するだけで基本的なEPUB3の制作ができるように考えられたフレームワークですが、これは使用者の側が規定されたclass名を記憶しておかなかればならないことを意味します。正直電書協EPUB3制作ガイドの厖大なプロパティ要素を全て記憶しておくことは至難の業で、緊デジでのEPUB3制作では結局毎回CSSを開いて既定されている値を検索する必要がありました。
 これでは時間もかかる上に、電書協EPUB3制作ガイドの規定プロパティを活かしきることはできません。

 そこで、Mac用テキストエディタ「mi」(旧名ミミカキエディット)の「モード」機能を利用し、デフォルトで選択できる「HTML」モードをもとに電書協EPUB3制作ガイド(緊デジリフローテンプレート)で規定された全てのプロパティ要素をメニューからのドロップダウン選択だけで入力できる「電書協EPUB用XHTML」モードを作ってみました。

 また、特に修正に多大な労力を要する「ルビ」の修正につきましては、イースト株式会社の高瀬拓史(@lost_and_found)さん作の「でんでんコンバーター」のマークダウン記法、「でんでんマークダウン」のルビ記法とXHTMLのルビタグを相互に変換できる機能を収録し、可読性の高い、容易なルビ修正を実現しました。

 さらに、縦組み時に正立・横転の指定が必要な記号類への自動タグ付加や、3桁までの半角数字への縦中横タグ自動付加選択した段落への<p>〜</p>タグの自動付加HTMLコメントの一括消去などもスクリプト化して収録しました。
 MacでのEPUB制作のおともにお役立ていただければ嬉しいです。

ダウンロードはこちら(mi2.1用)
>>テキストエディタ「mi」用 電書協EPUB用XHTMLモード(mi2.1用) (1815)
Mac OS X 10.7/10.8、mi 2.1.12r3にて動作確認済みです
ダウンロードはこちら(mi3.0用)
>>テキストエディタ「mi」用 電書協EPUB用XHTMLモード(mi3.0用) (バージョン 1.0.0) (71)
macOS 10.13にて動作確認済みです
mi本体はこちらより入手できます。

なお3.0用にはタグ以外の箇所の半角⇔→全角、カナ⇔かなの変換機能を追加しています。くわしくはこちら
※既にmi2.1でこのモードを使用していた場合、mi3.0をインストールした際に自動で旧モードが取り込まれるのですが、これで取り込まれた旧モードは3.0用ではないため選択するとアプリが落ちてしまうようです。その場合はFinderの「移動」→「フォルダへ移動」から「/Users/■■■ユーザーネーム入れる■■■/Library/Application Support/mi3/mode/」でモードフォルダに移動して手動で古いモードを削除し、あらためて読み込んでみてください。

インストール

1 ダウンロードしたZIPパッケージをあらかじめ任意の場所に解凍しておきます。

「モード設定」を選択2 メニュー項目「mi」から「モード設定」を選択し、ウィンドウを開きます。

3 「モード追加」→ラジオボタン「新規」が選択されている状態で「ファイル選択」をクリックします(このとき、ラジオボタン「モードファイルからインポート」を選択してファイル選択ウィンドウを開くと、ステップ4で目的のファイルがグレーアウトして選択出来ない状態になることがあるようです)

「追加」をクリック4 ダウンロードしたZIPパッケージ内のファイル「電書協EPUB用XHTML」を指定し、「追加」をクリックします。

※mi3.0ではフォルダを選択する仕様になったようです

「電書協EPUB用XHTML」が選択出来るように5 「インポートしようとしているモード/ツールには〜」というメッセージが表示されるので、「インポート」を選択してインポートします。

6 メニュー項目「ドキュメント」「モード」から「電書協EPUB用XHTML」が選択出来るようになります。

各機能説明(簡易マニュアル)

でんでんマークダウンのルビ記法←→XHTMLルビタグの相互変換

ルビタグの相互変換 変換したい範囲のテキストを選択し、「ツール」「その他」から「XHTMLルビタグ→でんでんルビ変換」を選択することで、複雑なXHTMLのルビタグを可読性の高いでんでんマークダウンのルビ記法に変換して修正作業を行うことができます。すべての修正が済んだら「でんでんルビ→XHTMLルビタグ変換」を用いて再びXHTMLルビタグに変換します。きちんとルビが修正されているかの確認は、「Command+R」でSafariを呼び出してXHTMLファイルを表示させればOKです。

ルビ形式の相互変換メニュー 電書協ガイド仕様の外字イメージへのルビ付加にも対応しており、柔軟にルビの付加作業を行うことができます。

 なお、でんでんマークダウンのルビ記法のルールはこちらをご参照ください。

正立・横転タグ自動付加

正立/横転タグの自動付与 選択範囲のテキスト内で縦組み時に文字回転(text-orientation)の指定が必要な文字を自動認識し、<span class=”upright”>/<span class=”sideways”>のタグを付加します。「ツール」「その他」から「選択範囲内の対象文字に正立/横転タグを自動付与」を選択することで実行できます。
 なお、タグ付加が必要な文字はこちらの資料を参照しています。

3桁までの半角数字への縦中横タグ自動付加

 選択範囲のテキスト内で全角文字に挟まれた3桁までの半角数字を認識し、自動で縦中横のタグを付加します。「ツール」「その他」から「選択範囲内の3桁までの半角数字に縦中横タグを自動付与」を選択することで実行できます。

HTMLコメントを消去

 選択範囲のテキスト内のHTMLコメント文を消去します。「ツール」「その他」から「HTMLコメントを消去」を選択することで実行できます。

選択範囲内に<p>タグを自動付与

 選択範囲内の段落に開始タグ「<p>」、終了タグ「</p>」を自動付与します。空改行は「<p><br /></p>」として処理します。「ツール」「その他」から「選択範囲内に<p>タグを自動付与」を選択することで実行できます。

ファイル分割スクリプト用分割マーク挿入

 文字列「<p>■分割■</p>」を挿入します。これは以前のエントリで紹介したファイル分割スクリプト「電書協仕様EPUB用XHTMLファイル分割」用のものです。「ツール」「その他」から「ファイル分割スクリプト用分割マーク挿入」を選択することで実行できます。

基本構造(リフロー縦書き/リフロー横書き/フィックス)

 「ツール」メニューの一番上に並んでいます。選択部分の前後に電書協ガイド仕様の各ヘッダ・フッタを付加します。基本的にCommand+Aでテキストを全体選択して使います。入力後のカーソルは<title></title>の間にありますので、そのままタイトルを入力できます。

項目グループ 見出し類

見出しの挿入 <h1><h6>までの見出しタグを入力するための項目グループです。電書協EPUB3制作ガイドで規定されているクラス名、目次リンク用のID名が同時に挿入されます。ID番号は必要に応じて書き換えてください。
 適用したい段落を選択し、各項目を選択することで前後に例えば以下のようなタグが挿入されます。
<h3 class=”naka-midashi” id=”toc-XXXXXXXXX”>見出しタイトル行</h3>

 見出し以外の単体プロパティの入力項目については特に説明は必要ないと思われますので、省略いたします。

項目グループ 全体字下げ・ぶら下がりインデント

 しばしば併用される複数のプロパティを同時入力するための項目グループです。全体○字下げ、ぶら下がり○字といったような表現を簡単に入力できます。
 適用したい段落を選択し、項目を選択することで段落の前後に例えば以下のようなタグが挿入されます。
<div class=”start-1em”>
<div class=”h-indent-1em”>
<p>サンプルサンプルサンプルサンプルサンプルサンプル</p>
</div>
</div>

項目グループ 全体字下げ・文字サイズ下げ

 しばしば併用される複数のプロパティを同時入力するための項目グループです。全体○字下げ、文字サイズ○%下げといったような表現を簡単に入力できます。
 適用したい段落を選択し、項目を選択することで段落の前後に例えば以下のようなタグが挿入されます。
<div class=”start-1em”>
<div class=”font-090per”>
<p>サンプルサンプルサンプルサンプルサンプルサンプル</p>
</div>
</div>

項目グループ 右揃え・全体字上げ

 しばしば併用される複数のプロパティを同時入力するための項目グループです。右(縦組では下)揃え、行末○字上げといったような表現を簡単に入力できます。
 適用したい段落を選択し、項目を選択することで段落の前後に例えば以下のようなタグが挿入されます。
<div class=”align-right”>
<div class=”end-1em”>
<p>サンプルサンプルサンプルサンプルサンプルサンプル</p>
</div>
</div>

主なキーバインド(ショートカット)による文字挿入

 文字を選択し、各キーバインドを入力することで以下のタグが挿入されます。

Control+B <span class=”bold”>選択文字</span>
Control+C <a class=”cyu” href=”#ref-XXX”>選択文字</a>
Control+G <span class=”gfont”>選択文字</span>
Control+K <span class=”key” id=”key-XXX”>選択文字</span>
Control+M <span class=”mfont”>選択文字</span>
Control+N <p><br /></p>
Control+O <span class=”upright-1″>選択文字</span>
Control+P <p>選択文字</p>
Control+R <ruby>選択文字<rt></rt></ruby>
Control+S <span class=”sideways”>選択文字</span>
Control+T <span class=”tcy”>選択文字</span>
Control+U <span class=”upright”>選択文字</span>

 これはテキストエディタのカスタム機能ですので、モードの項目、キーバインド等気軽に追加、改訂することが可能です。使いやすいようにカスタマイズしてご活用ください。

(2013.6.26)

テキストエディタ「mi」の「モード/ツールライブラリ」にご掲載いただきました。mi開発者の上山さま、ありがとうございます。

(2013.9.9)

mi3.0用モードを追加しました。

(2018.6.21)

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。