ベータ版を試すログインまたはアカウント新規作成
本文ノート編集履歴

ms_edit このエントリーをはてなブックマークに追加 

出典: まじかるそふとwiki

ms_edit 画面

ms_editは、テキスト整形作業を意識した汎用テキストエディタである。

目次 [表示]

概要

汎用テキストエディタです。特徴として、検索・置換に正規表現(POSIXおよびPerl互換)が使えます。 インデント機能や異常終了時のバックアップ機能も備えています。 また、テキスト保存時には文字コードをShift-JISのほか、EUC-JPやUTF-8・UTF-16などにも対応します。

動作環境

  • Windows XP
  • Windows Vista
  • Windows 7

インストール

下記からダウンロードして、実行すると、インストーラーが起動します。

使い方

メニュー

ファイル

新規作成

テキストを新規作成します。編集中のテキストがある場合は保存するかを伺います。

開く

テキストファイルを読み込みます。編集中のテキストがある場合は保存するかを伺います。

履歴から開く

過去に開いたテキストファイルを読み込みます。編集中のテキストがある場合は保存するかを伺います。

保存

テキストをファイルに上書き保存します。

名前を付けて保存

テキストをファイルに保存します。文字コードを選択できます。

文字コード変換再読み込み

ファイルを文字コードを指定して読み込み直します。

プリンタの設定

印刷に使うプリンタ・用紙を選択します。

ページの設定

印刷マージンなどを設定します。

印刷

ファイルを印刷します。

終了

ms_editを終了します。

編集

元に戻す

編集操作をアンドゥします。

切り取り

選択したテキストをクリップボードに切り取ります。

コピー

選択したテキストをクリップボードにコピーします。

貼り付け

クリップボードの内容を貼り付けます。

削除

クリップボードの内容を貼り付けます。

すべてを選択

テキスト全体を選択します。

行へ移動

指定した行へカーソルを飛ばします。

カーソルを進ませる

編集した行にカーソルを飛ばします。(進む)

カーソルを戻す

編集した行にカーソルを飛ばします。(戻す)

検索

検索

文字列(または正規表現)を検索します。

先頭から検索

テキスト先頭から検索をします。

次を検索

次の検索候補を検索します。

置換

文字列(または正規表現)を検索し、置換文字列と置き換えます。
正規表現の場合、$0,$1,$2などを置換文字列として指定できます。

ナンバリング

文字列内の“%%”を先頭から0から順にナンバリングします。

SQL変換

SQL:CREATE文変換

EXCELなどからコピーしたタブ区切りの定義表からCREATE TABLE文を構築します。

SQL:C#読み込み文変換

EXCEL等からコピーしたタブ区切りの定義表から Readブロックの自動生成を行います。

SQL:C# INSERT文変換

EXCEL等からコピーしたタブ区切りの定義表から INSERTブロックの自動生成を行います。

SQL:C# UPDATE文変換

EXCEL等からコピーしたタブ区切りの定義表から UPDATEブロックの自動生成を行います。

SQL変換の例

CREATE文変換

エクセルの画面


このように選んでコピーすると

CREATE TABLE new_table(
ID int(11) AUTO_INCRIMENT PRIMARY KEY,
SHOHIN_CODE int(11) DEFAULT 0,
SHOHIN_NAME varchar(50),
SHOHIN_TANKA decimal(14.2) DEFAULT 0,
MENU_CODE int(11) DEFAULT 0,
BUMON_CODE int(11) DEFAULT 0);


このように展開されます。

C#読み込み文変換

エクセルの画面


このように選んでコピーすると

int ID = (Reader.IsDBNull(0)) ? 0 : Reader.GetInt32(0);
int SHOHIN_CODE = (Reader.IsDBNull(1)) ? 0 : Reader.GetInt32(1);
string SHOHIN_NAME = (Reader.IsDBNull(2)) ? "" : Reader.GetString(2);
decimal SHOHIN_TANKA = (Reader.IsDBNull(3)) ? 0 : Reader.GetDecimal(3);
int MENU_CODE = (Reader.IsDBNull(4)) ? 0 : Reader.GetInt32(4);
int BUMON_CODE = (Reader.IsDBNull(5)) ? 0 : Reader.GetInt32(5);


このように展開されます。

正規表現入門

ms_editの正規表現は基本的にはPerl5互換です。 たとえばURLをマッチさせたいときは、検索式に

(https?:\/\/[a-zA-Z0-9_\.\/\~\%\:\#\?=&\;\-!\+]+)


といれてください。 たとえばURL「http://www.magical-soft.jp/vote/」からドメイン名だけ引っ張ってくる場合は、

(https?:\/\/)([a-zA-Z0-9_\.\-]+)([a-zA-Z0-9_\.\~\/\%\:\#\?=&\;\-!\+]+)


として、置換文字列に$2を指定すると、「www.magical-soft.jp」だけになります。 ちなみに$0はマッチした全体が、$1は「http://」$3は「/vote/」となります。

当然ながら置換文字列の$0と$1$2$3は同じ物になります。

やさしい正規表現

英単語だけにマッチさせる方法

[A-Za-z]+


数字だけマッチさせる方法

[0-9]+


「’」付きの英単語にマッチさせる方法(例 「McDonald's」)

[A-Za-z']+


実践編

imgタグからファイル名を得る 「$2」にファイル名が格納される

(\<img src="[0-9a-zA-Z\-_/]+/)([0-9a-z\._]*)([a-z0-9"\ =]*)( /\>)


HTMLタグをとにかく選択

(\<[a-zA-Z0-9"'_\.\/\~\%\:\#\;\?=&\;\-!\+ ]+\>)


メールアドレスを選択

([a-zA-Z0-9\-_\.]+)@([a-zA-Z0-9\-_\.]+)


使いこなせばここまでできる編

二つの値の入れ替え

public string patch932(string Value)
{
string result = Value;
result = result.Replace('\uFF5E', '\u301C');
result = result.Replace('\u005C', '\u00A5');
result = result.Replace('\u007E', '\u203E');
result = result.Replace('\uFF3C', '\u005C');
result = result.Replace('\uFF5E', '\u301C');
result = result.Replace('\u2225', '\u2016');
result = result.Replace('\uFF0D', '\u2212');
result = result.Replace('\uFFE0', '\u00A2');
result = result.Replace('\u2225', '\u2016');
result = result.Replace('\uFFE1', '\u00A3');
result = result.Replace('\uFFE0', '\u00A2');
result = result.Replace('\uFFE2', '\u00AC');
return result;
}

この関数を逆にひっくり返します。


public string patch932(string Value)
{
string result = Value;
result = result.Replace('\u301C', '\uFF5E');
result = result.Replace('\u00A5', '\u005C');
result = result.Replace('\u203E', '\u007E');
result = result.Replace('\u005C', '\uFF3C');
result = result.Replace('\u301C', '\uFF5E');
result = result.Replace('\u2016', '\u2225');
result = result.Replace('\u2212', '\uFF0D');
result = result.Replace('\u00A2', '\uFFE0');
result = result.Replace('\u2016', '\u2225');
result = result.Replace('\u00A3', '\uFFE1');
result = result.Replace('\u00A2', '\uFFE0');
result = result.Replace('\u00AC', '\uFFE2');
return result;
}

Q&A

  • 正規表現で検索できないのですが?

多分検索ウインドウの正規表現を使用するにチェックしていません。

  • ms_editのmsって何?

Magical-Softの略(安直)

  • TABや全角の空白や改行にマーク付かないんですか?

必要があるなら要望のメールをお待ちしてます。

  • バグが多い気がしますが?

私自身の作業用のソフトとして作ってますので、細かい部分まで目が行き届いてません。 バグ見つけたらメール下さい。

  • なんでC#の構文にだけ対応させているんですか?

私自身仕事でC#を使うせいです。

  • 他の言語には対応しないんですか?

必要になったら作ります。

  • 秀丸とかWzとかみたいにマクロとか搭載しないんですか?

そこまで求めるのなら素直に秀丸やWz使います。

レビュー記事

サポート

不具合や要望などがございましたら下記ページよりお問い合わせください。

案内
  • メインページ
  • まじかるそふと
  • 練習用ページ
  • Magical-Soft.jp
  • ヘルプ
  • ヘルプ
  • 検索
    他の言語
  • English
  • 简体中文
  • 繁体中文