「編集モードの自動選択」の版間の差分
ナビゲーションに移動
検索に移動
「コマンドラインオプション」と「現在の編集モードのプロパティ」の節を追加 |
細編集の要約なし |
||
| 1行目: | 1行目: | ||
「'''編集モードの自動選択'''」または「'''書き換え禁止で開く'''」 | 「'''編集モードの自動選択'''」または「'''書き換え禁止で開く'''」 | ||
<u>「ファイルを開いたとき」専用のイベントマクロです。</u> | <u>「ファイルを開いたとき」専用のイベントマクロです。</u> ''ref.'' オンラインヘルプ: マクロ - [[ヘルプ:マクロ#カスタマイズ|カスタマイズ]] | ||
拡張子で適切に判別できないファイルの「編集モード」を、ファイル名で自動割りふりします。<br> | 拡張子で適切に判別できないファイルの「編集モード」を、ファイル名で自動割りふりします。<br> | ||
また、ふだんは再編集の必要がないファイルをファイル名で自動割りふりして「書き換え禁止」で開くようにします。 | また、ふだんは再編集の必要がないファイルをファイル名で自動割りふりして「書き換え禁止」で開くようにします。 | ||
※「書き換え禁止」は Mery 上で編集禁止(仮ロック)にする機能で、 [編集] | ※「書き換え禁止」は Mery 上で編集禁止(仮ロック)にする機能で、 [編集]メニューの項目「書き換え禁止」で解除できます。ファイル属性を「読み取り専用」するわけではありません。 ''c.f. '' 「[[マテリアルデザインっぽいアイコンと『小マクロ集』#属性変更|属性変更]]」マクロ | ||
= コマンドラインオプション = | = コマンドラインオプション = | ||
2018年10月27日 (土) 06:59時点における版
「編集モードの自動選択」または「書き換え禁止で開く」
「ファイルを開いたとき」専用のイベントマクロです。 ref. オンラインヘルプ: マクロ - カスタマイズ
拡張子で適切に判別できないファイルの「編集モード」を、ファイル名で自動割りふりします。
また、ふだんは再編集の必要がないファイルをファイル名で自動割りふりして「書き換え禁止」で開くようにします。
※「書き換え禁止」は Mery 上で編集禁止(仮ロック)にする機能で、 [編集]メニューの項目「書き換え禁止」で解除できます。ファイル属性を「読み取り専用」するわけではありません。 c.f. 「属性変更」マクロ
コマンドラインオプション
マクロ上で Mery の コマンドラインオプション 指定に相当する記述法は以下のようになります。
※このページのソースコードに書き足す場合は「 document. 」の部分は省略可。
- document.ReadOnly = true;
- コマンドラインオプション /r
書き換え禁止 に設定します。
- document.Mode() = "ModeName";
- コマンドラインオプション /m "ModeName"
編集モード を指定します。
- document.Encoding() = "meEncodingHoge";
- コマンドラインオプション /cp Encoding
エンコードを エンコード定数 で定義されている数値で指定します。
ref. マクロリファレンス:エンコード定数
- document.selection.SetActivePoint( mePosLogical, x, y );
- カーソル位置を設定 します。
- コマンドラインオプション /l LineNumber
行(論理座標)に移動します。 ※マクロ上では "y" に行番号(1~ )で指定 - コマンドラインオプション /cl ColumnNumber
桁(論理座標)に移動します。 ※マクロ上では "x" に桁番号(1~ )で指定
- コマンドラインオプション /l LineNumber
ソースコード
ファイル名や編集モード名は サンプル ですので、ご利用の環境にあわせて適宜書き換えてください。
- ファイル名は、"ファイル名を小文字で列挙する" パターンと "正規表現で部分一致させる" パターンとを利用できます。
- ファイル名の日本語/全角文字の部分はそのまま記述します。
#title = "編集モードの自動選択"
// または
// "書き換え禁止で開く"
// 「ファイルを開いたとき」専用のイベントマクロ
// document.Mode = "HOGE"; => 「編集モード名」を指定する (表示メニューのアイテム)
// document.ReadOnly = true; => 「書き換え禁止」にする (編集メニューのアイテム)
// 【"ファイル名" を小文字で列挙するパターン】と【正規表現で「部分一致」させるパターン】にファイル名/フォルダ名を追加してご利用ください
with ( document ) {
// ■"ファイル名" を小文字で列挙するパターン
switch ( Name.toLowerCase() ) {
case "mery.txt": // ReadMe ファイルなど
case "hosts": // ふだんは書き換えの必要のないシステムファイルなど
ReadOnly = true;
break;
case "replacestr.txt": // Jane系2ちゃんブラウザの設定ファイル
case "imageviewurlreplace.dat":
case "urlexec.dat":
case "command.dat":
Mode = "JaneStyle (正規表現用)" // 構文ファイル「JaneStyle (正規表現用)」
break;
default:
break;
}
// ■正規表現でファイル名に「部分一致」させるパターン
// ※フラグ i を設定しているばあい、大文字と小文字が区別されない
if ( Name.match( /read ?me|eula|COPYING/i ) ) { // ReadMe ファイルなど
ReadOnly = true;
Quit();
}
if ( Name.match( /正規表現.*\.txt/ ) ) { // 正規表現のリファレンスなど
Mode = "Reg_Exp"; // 「JaneStyle (正規表現用)」から間引きした構文ファイル
ReadOnly = true;
Quit();
}
if ( Name.match( /Mery_小マクロ集/i ) ) { // 『Mery_小マクロ集』
Mode = "JavaScript";
ReadOnly = true;
Quit();
}
// ■正規表現でフルパスに「部分一致」させるパターン
// ※フラグ i を設定しているばあい、大文字と小文字が区別されない
if ( FullName.match( /Mery\\Macros/i ) ) { // Meryのマクロフォルダ内のファイル
Mode = "JavaScript";
Quit();
}
}
おまけマクロ
書き換え禁止 ON/OFF
- [編集]カテゴリのメニュー項目:「書き換え禁止」
#title = "書き換え禁止 ON/OFF"
#tooltip = "書き換え禁止 ON/OFF"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",36
if ( document.ReadOnly )
document.ReadOnly = false;
else document.ReadOnly = true;
現在の編集モードのプロパティ
- [表示]カテゴリのメニュー項目:「編集モード」グループ >> 「編集モードの設定...」 → 現在の編集モードの 「プロパティ」
#title = "編集モードの設定..."
#tooltip = "現在の編集モードのプロパティ"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",157
// 5ちゃんねる「テキストエディタ Mery part4」 レス484-485 より
// ref. https://potato.5ch.net/test/read.cgi/software/1410842156/484-485
var shell = new ActiveXObject( "WScript.Shell" );
shell.SendKeys( '%P' );
editor.ExecuteCommandByID( MEID_VIEW_MODE_CUSTOMIZE = 2144 ); // 編集モードの設定ダイアログを開くだけなら、この一行のみでよい
スポンサーリンク