<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://www.haijin-boys.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tak</id>
	<title>MeryWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://www.haijin-boys.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tak"/>
	<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Tak"/>
	<updated>2026-05-20T01:23:02Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E8%87%AA%E7%84%B6%E6%95%B0%E3%82%BD%E3%83%BC%E3%83%88&amp;diff=7198</id>
		<title>自然数ソート</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E8%87%AA%E7%84%B6%E6%95%B0%E3%82%BD%E3%83%BC%E3%83%88&amp;diff=7198"/>
		<updated>2023-11-19T05:16:23Z</updated>

		<summary type="html">&lt;p&gt;Tak: ページの作成:「== 概要 == 自然順ソート（Natural Sort）します。  == 機能 == アスキー順ではなく、自然順でソートする。   自然順ソート：1, 2, 3, ..., 9, 10  アスキー順ソート：1, 10, 2, 3, ...., 9, 10  == 履歴 == * 2023/11/19 初版  == ソースコード == 昇順用 &amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt; #title = &amp;quot;自然順で、昇順に並べ替え&amp;quot; #tooltip = &amp;quot;自然順（Natural Sort order）で、選択範囲または文書全…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 概要 ==&lt;br /&gt;
自然順ソート（Natural Sort）します。&lt;br /&gt;
&lt;br /&gt;
== 機能 ==&lt;br /&gt;
アスキー順ではなく、自然順でソートする。&lt;br /&gt;
&lt;br /&gt;
 自然順ソート：1, 2, 3, ..., 9, 10&lt;br /&gt;
 アスキー順ソート：1, 10, 2, 3, ...., 9, 10&lt;br /&gt;
&lt;br /&gt;
== 履歴 ==&lt;br /&gt;
* 2023/11/19 初版&lt;br /&gt;
&lt;br /&gt;
== ソースコード ==&lt;br /&gt;
昇順用&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;自然順で、昇順に並べ替え&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;自然順（Natural Sort order）で、選択範囲または文書全体を昇順に並べ替えます。&amp;quot;&lt;br /&gt;
#begingroup = true&lt;br /&gt;
/*&lt;br /&gt;
Copyright (c) Kuro. All rights reserved.&lt;br /&gt;
Licensed under the MIT License.&lt;br /&gt;
&lt;br /&gt;
Natural Sort prioritizes human intuition, considering numeric values &lt;br /&gt;
for an intuitive string order. &lt;br /&gt;
Enhances user experience in sorting textual data like Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
 exalmple  (1, 2, 10) instead of (1, 10, 2)&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
function naturalSortKey(s) {&lt;br /&gt;
	return s.toLowerCase().split(/(\d+)/).map(function (text) {&lt;br /&gt;
		return isNaN(text) ? text : parseInt(text);&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function naturalSort(lines) {&lt;br /&gt;
	lines.sort(function (a, b) {&lt;br /&gt;
		var regEx = /(\d+)|(\D+)/g;&lt;br /&gt;
		var tokensA = a.match(regEx) || [];&lt;br /&gt;
		var tokensB = b.match(regEx) || [];&lt;br /&gt;
&lt;br /&gt;
		while (tokensA.length &amp;gt; 0 &amp;amp;&amp;amp; tokensB.length &amp;gt; 0) {&lt;br /&gt;
			var tokenA = tokensA.shift();&lt;br /&gt;
			var tokenB = tokensB.shift();&lt;br /&gt;
&lt;br /&gt;
			var numA = parseInt(tokenA, 10);&lt;br /&gt;
			var numB = parseInt(tokenB, 10);&lt;br /&gt;
&lt;br /&gt;
			if (!isNaN(numA) &amp;amp;&amp;amp; !isNaN(numB)) {&lt;br /&gt;
				if (numA &amp;lt; numB) return -1;&lt;br /&gt;
				if (numA &amp;gt; numB) return 1;&lt;br /&gt;
			} else {&lt;br /&gt;
				if (tokenA &amp;lt; tokenB) return -1;&lt;br /&gt;
				if (tokenA &amp;gt; tokenB) return 1;&lt;br /&gt;
			}&lt;br /&gt;
		}　&lt;br /&gt;
		return tokensA.length - tokensB.length;&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var lines = sel.Text.replace(/\n?$/, &amp;quot;&amp;quot;).split(&amp;quot;\n&amp;quot;)&lt;br /&gt;
naturalSort(lines);&lt;br /&gt;
sel.Text=lines.join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
降順用&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
#title = &amp;quot;自然順で、降順に並べ替え&amp;quot;&lt;br /&gt;
#tooltip = &amp;quot;自然順（Natural Sort order）で、選択範囲または文書全体を降順に並べ替えます。&amp;quot;&lt;br /&gt;
#begingroup = true&lt;br /&gt;
/*&lt;br /&gt;
Copyright (c) Kuro. All rights reserved.&lt;br /&gt;
Licensed under the MIT License.&lt;br /&gt;
&lt;br /&gt;
Natural Sort prioritizes human intuition, considering numeric values &lt;br /&gt;
for an intuitive string order. &lt;br /&gt;
Enhances user experience in sorting textual data like Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
 exalmple  (1, 2, 10) instead of (1, 10, 2)&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
function naturalSortKey(s) {&lt;br /&gt;
	return s.toLowerCase().split(/(\d+)/).map(function (text) {&lt;br /&gt;
		return isNaN(text) ? text : parseInt(text);&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function naturalSort(lines) {&lt;br /&gt;
	lines.sort(function (a, b) {&lt;br /&gt;
		var regEx = /(\d+)|(\D+)/g;&lt;br /&gt;
		var tokensA = a.match(regEx) || [];&lt;br /&gt;
		var tokensB = b.match(regEx) || [];&lt;br /&gt;
&lt;br /&gt;
		while (tokensA.length &amp;gt; 0 &amp;amp;&amp;amp; tokensB.length &amp;gt; 0) {&lt;br /&gt;
			var tokenA = tokensA.shift();&lt;br /&gt;
			var tokenB = tokensB.shift();&lt;br /&gt;
&lt;br /&gt;
			var numA = parseInt(tokenA, 10);&lt;br /&gt;
			var numB = parseInt(tokenB, 10);&lt;br /&gt;
&lt;br /&gt;
			if (!isNaN(numA) &amp;amp;&amp;amp; !isNaN(numB)) {&lt;br /&gt;
				if (numA &amp;gt; numB) return -1;&lt;br /&gt;
				if (numA &amp;lt; numB) return 1;&lt;br /&gt;
			} else {&lt;br /&gt;
				if (tokenA &amp;gt; tokenB) return -1;&lt;br /&gt;
				if (tokenA &amp;lt; tokenB) return 1;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return tokensB.length - tokensA.length;&lt;br /&gt;
	});&lt;br /&gt;
}&lt;br /&gt;
// Example usage:&lt;br /&gt;
&lt;br /&gt;
var sel = document.selection;&lt;br /&gt;
&lt;br /&gt;
if (sel.Text == &amp;quot;&amp;quot;) {&lt;br /&gt;
	sel.SelectAll();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var lines = sel.Text.replace(/\n?$/, &amp;quot;&amp;quot;).split(&amp;quot;\n&amp;quot;)&lt;br /&gt;
naturalSort(lines);&lt;br /&gt;
sel.Text=lines.join(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 謝辞 ==&lt;br /&gt;
重複行の削除マクロ（RemoveDuplicates.js）の処理速度にについての、Noah さんの投稿 (2023年10月21日) への投稿をもとに、ChatGPT で、ざっと作りました。&lt;/div&gt;</summary>
		<author><name>Tak</name></author>
	</entry>
	<entry>
		<id>https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=7197</id>
		<title>マクロライブラリ</title>
		<link rel="alternate" type="text/html" href="https://www.haijin-boys.com/wiki/index.php?title=%E3%83%9E%E3%82%AF%E3%83%AD%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA&amp;diff=7197"/>
		<updated>2023-11-19T04:49:51Z</updated>

		<summary type="html">&lt;p&gt;Tak: /* 変換・ソート・整形 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mery で使用できるマクロを集めたライブラリです。&lt;br /&gt;
&lt;br /&gt;
スクリプトを拡張子 &amp;quot;js&amp;quot;（JavaScript、JScript の場合）にして Macros フォルダーなどに保存し、[マクロ] メニューの [選択] や [カスタマイズ] から読み込んで使用してください。&lt;br /&gt;
&lt;br /&gt;
マクロライブラリはどなたでも自由に編集できますので、みなさんが作成した便利なマクロをどんどん掲載してください。&lt;br /&gt;
&lt;br /&gt;
== テキスト操作補助 ==&lt;br /&gt;
* [https://github.com/haijinboys/mery-macro-emmet Emmet] (Kuro)&lt;br /&gt;
* [[Zen Coding]] (Kuro)&lt;br /&gt;
* [[対応する括弧に移動]] (Kuro, Kurama, Masme)&lt;br /&gt;
* [[行頭に移動]] (Kuro, Masme, Noonworks, Isari)&lt;br /&gt;
* [[VSCode風、行頭/行末に移動]] (Yuko)&lt;br /&gt;
* [[バイト数]] (Kuro, Ks)&lt;br /&gt;
* [[日付と時刻を挿入]] (N, Masme, Isari)&lt;br /&gt;
* [[日付と時刻を挿入（カレンダー版）]] (Papagoat)&lt;br /&gt;
* [[選択範囲を上下に移動]] (Ks)&lt;br /&gt;
* [[TeraPadのCtrl↑と同じような動作をするマクロ]] (Suke)&lt;br /&gt;
* [[TeraPadのCtrl↓と同じような動作をするマクロ]] (Suke)&lt;br /&gt;
* [[Vz 風テキストスタック 2 ストロークキー]] (Papagoat)&lt;br /&gt;
* [[ラクラク罫線]] (手石)&lt;br /&gt;
* [[ファイル:XHTML.zip]] (アラフォー親父) HTMLタグを、ショートカット・キーに登録して入力するマクロ（文章挟み込み仕様）。&lt;br /&gt;
* [[自動箇条書き]] (手石)&lt;br /&gt;
* [[青空文庫用整形補助]] (Ks, 急急如律令)&lt;br /&gt;
* [[部分編集]] (Ks)&lt;br /&gt;
* [[文字カウント]] (Masme)&lt;br /&gt;
* [[数値を増減]] (インクリメント・デクリメント) (Masme)&lt;br /&gt;
* [[自動ルビ振り]] (急急如律令)&lt;br /&gt;
* [[貼付け実行後のカーソル位置を貼付け文字列の先頭にする]] (Yuko)&lt;br /&gt;
* [[ドイツ語特殊文字]] (鯉)&lt;br /&gt;
* [[文章で使用されている文字をユニーク抽出]] (Kuro)&lt;br /&gt;
* [[アウトライン用ノード追加]] (Mik)&lt;br /&gt;
* [[アウトラインのノードレベルを上げる]] (Mik)&lt;br /&gt;
* [[アウトラインのノードレベルを下げる]] (Mik)&lt;br /&gt;
* [[アウトラインのノードの完了/未完了を切り替える]] (Mik)&lt;br /&gt;
* [[ハルナアウトライン用の完了/未完了フラグをノード名に反映する]] (Mik)&lt;br /&gt;
* [[Markdown文書で改行時にリスト、引用ブロック開始記号を自動入力する]] (Catfist, Yuko)&lt;br /&gt;
* [[Markdown 向け、リスト記号 (*) のトグル]] (Yuko)&lt;br /&gt;
* [[Markdown 向け、タスクリスト (* ［］) のチェック状態をトグル]] (Yuko)&lt;br /&gt;
* [[Markdown入力補助]] (急急如律令)&lt;br /&gt;
* [[何年生で習う漢字？]] (シリル)&lt;br /&gt;
* [[上に行挿入]] (Yuko)&lt;br /&gt;
* [[選択範囲を広げる]] (Yuko)&lt;br /&gt;
* [[新規行番号入力]] (Takuma, Sukemaru)&lt;br /&gt;
* [[選択した文字列を文書からすべて削除]] (Noah)&lt;br /&gt;
&lt;br /&gt;
== ファイル操作補助 ==&lt;br /&gt;
* [[パスを取得]] (Kuro)&lt;br /&gt;
* [[フォルダ内のファイルをすべて開く]] (Kuro)&lt;br /&gt;
* [[ファイルを比較]] (Kuro)&lt;br /&gt;
* [[ファイル名を引数にしてアプリ起動]] (Kuro, Miso)&lt;br /&gt;
* [[文字列中のパス起動]] (Ks)&lt;br /&gt;
* [[パス・URLを開く コマンドを実行する]] (Yuko)&lt;br /&gt;
* [[開いている文書のファイル名を変更する]] (Yuko)&lt;br /&gt;
* [[上書き保存(UAC対応)]] (Ks)&lt;br /&gt;
* [[含んでいるフォルダを開く]] (Ks)&lt;br /&gt;
* [[ブックマーク一覧ジャンプ]] ※ポップアップメニュー (Goat)&lt;br /&gt;
* [[拡張子の違うファイルを開く]] (N)&lt;br /&gt;
* [[フォルダを開く]] (N)&lt;br /&gt;
* [[コマンドプロンプトを開く]] (N)&lt;br /&gt;
* [[よく使うフォルダ]] (手石)&lt;br /&gt;
* [[ファイル（選択範囲）の仮保存]] (手石)&lt;br /&gt;
* [[ポップアップメニューでファイル選択]] (手石)&lt;br /&gt;
* [[フォルダツリーをポップアップ表示]] (N)&lt;br /&gt;
* [[タグジャンプ]] (O)&lt;br /&gt;
* [[ウィンドウの位置とサイズを拡張子で指定]] (Papagoat)&lt;br /&gt;
* [[編集モードの自動選択]] (Bleat)&lt;br /&gt;
* [[書き換え禁止モード色反転]] (Bleat)&lt;br /&gt;
* [[変更なしのタブをすべて閉じる]] (Noah)&lt;br /&gt;
&lt;br /&gt;
== 変換・ソート・整形 ==&lt;br /&gt;
* [[標準変換]] (Kuro, MSY-07)&lt;br /&gt;
* [[テキスト変換]] (Ks)&lt;br /&gt;
* [[テキスト整形]] (Masme)&lt;br /&gt;
* [[旧漢字から新漢字に変換]] (Furu)&lt;br /&gt;
* [[Wikipedia表記修正]] (MSY-07)&lt;br /&gt;
* [[SHA でハッシュ化]] (Kuro)&lt;br /&gt;
* [[ブックマーク系コマンド集]] (Ks)&lt;br /&gt;
* [[clustalw を用いてアライメントを実行]] (Suke)&lt;br /&gt;
* [[clustal-omegaを用いてアライメントを実行]] (Suke)&lt;br /&gt;
* [[連番の挿入]] (手石)&lt;br /&gt;
* [[TSV(CSV) ⇒ 固定長]] (手石)&lt;br /&gt;
* [[行並べ替え]] (Masme)&lt;br /&gt;
* [[連番を挿入]] (Masme)&lt;br /&gt;
* [[GFMをHTMLに変換]] (Noonworks)&lt;br /&gt;
* [[基数変換10 16]] (シリル)&lt;br /&gt;
* [[スネークケース ⇔ キャメルケースの変換]] (Noah)&lt;br /&gt;
* [[マルチカーソルに連番を入力]] (Yuko)&lt;br /&gt;
* [[自然数ソート]] (tak)&lt;br /&gt;
&lt;br /&gt;
== 検索・置換 ==&lt;br /&gt;
* [[文書から検索]] (Kuro)&lt;br /&gt;
* [[単語を抽出]] (Kuro)&lt;br /&gt;
* [[タグの外側（内側）だけ置換]] (手石)&lt;br /&gt;
* [[ポップアップメニューで検索先にジャンプ]] (手石)&lt;br /&gt;
* [[検索(SJIS以外)]] + 検索強調を解除 (Masme)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/blob/master/SearchWithMode.js 現在開いているファイルの言語名をつけてWeb検索] (高見知英) → [[https://vine.co/v/eeY59rFMail 実際の動作例]]&lt;br /&gt;
* [https://github.com/GunseiPaseri/Mery_macro 文字出現量ランキング] (群生系パセリ)&lt;br /&gt;
* [[検索ヒット数表示]] (Ks)&lt;br /&gt;
* [[任意の検索エンジンで検索ー改良版]] (Takeshi)&lt;br /&gt;
* [[デフォルトの検索フラグを設定して検索ウィンドウ表示]] (Yuko)&lt;br /&gt;
* [[複数置換]] (Noah)&lt;br /&gt;
* [[類義語アウトプット【Python】]] (シリル)&lt;br /&gt;
* [[校正支援アウトプット]] (シリル)&lt;br /&gt;
* [[見出しジャンプ]] (Yuko)&lt;br /&gt;
&lt;br /&gt;
== プログラミング補助 ==&lt;br /&gt;
* [[Eclipse風コメントアウト]] (Ks)&lt;br /&gt;
* [[Eclipse風コメントアウト(改)]] (Pizz)&lt;br /&gt;
* [[コメントマーク付け外し]] (手石, Masme)&lt;br /&gt;
* [[スマートインデント(C 構文)]] (Ks)&lt;br /&gt;
* [[ctags.exeでtagsファイルを生成、タグジャンプを行うマクロ]] (Kazy)&lt;br /&gt;
* [[タグファイルから補完]] (N)&lt;br /&gt;
* [[コードスニペットもどき]] (手石)&lt;br /&gt;
* [[TeX文書のコンパイル]] (手石, Isari)&lt;br /&gt;
* [[TeX数式のチェック]] (手石)&lt;br /&gt;
* [[簡易数式計算]] (Ks)&lt;br /&gt;
* [[定義へ移動]] (Ks)&lt;br /&gt;
* [[タブの桁数]] (手石)&lt;br /&gt;
* [[行末の空白を削除]] (N)&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/tree/master/ 開いているスクリプトファイルを実行] (高見知英) 掲載時点ではバッチファイル・Javascript・Lua・PHP・Perl・Python・Ruby・UWSCに対応。順次追加予定。&lt;br /&gt;
* [https://github.com/TakamiChie/mery-scripts/tree/master/ 開いているスクリプトファイルを構文チェック] (高見知英) 掲載時点ではPHP・Perlに対応。順次追加予定。&lt;br /&gt;
* [[説明を出力]] (S)&lt;br /&gt;
* [[拡張子からコンソール実行]] (YOS G-spec)&lt;br /&gt;
* [[JSON整形]] (Ovis)&lt;br /&gt;
* [[ScriptRun]] (Scriptコードの実行) (Fuka)&lt;br /&gt;
&lt;br /&gt;
== おもしろ ==&lt;br /&gt;
* [[メール送信]] (Ks)&lt;br /&gt;
* [[あつまれ☆みんなのおもしろアイコン]] (シリル)&lt;br /&gt;
&lt;br /&gt;
== その他 ==&lt;br /&gt;
* [[最新版を確認]] (Diaphragm)&lt;br /&gt;
* [[HSPキーワード検索]] (SSSE)&lt;br /&gt;
* [[SAPI 使って単語読み上げ]] (Miso)&lt;br /&gt;
* [[フォルダ選択ダイアログ]] (手石)&lt;br /&gt;
* [[HTA(HTML)の自作ダイアログを表示]] (Noonworks)&lt;br /&gt;
* [[JavaScript を実行]] (N)&lt;br /&gt;
* [[Ruby を実行]] (N)&lt;br /&gt;
* [[ポップアップメニューを手軽に扱う]] (Komorebikoboshi)&lt;br /&gt;
* [[マクロ・関数をメニューで呼び出す]] (Aliquis)&lt;br /&gt;
* [[階層化マクロメニュー]] (Ks)&lt;br /&gt;
* [[シェルコマンドを実行]] (Sasaki)&lt;br /&gt;
* [[ポップアップメニューでチェックボックス]] (手石)&lt;br /&gt;
* [[ポップアップメニューでラジオボタン]] (手石)&lt;br /&gt;
* [[Editor.OpenFile()のポリフィル]] (Kazy)&lt;br /&gt;
* [[折り返しトグル切り替え]] (Bleat)&lt;br /&gt;
* [[Beep音の例]] (Star0worshipper)&lt;br /&gt;
* [[ブラウザ風タブ移動]] (Yuko)&lt;br /&gt;
&lt;br /&gt;
== 開発者向け ==&lt;br /&gt;
* [[キーアサイン集]] (Ks, Masme, Isari, Sukemaru)&lt;br /&gt;
* [[includeライブラリ]] (Ks)&lt;br /&gt;
* [[GetKeyState.exe(キー状態取得実行ファイル)]] (Pizz)&lt;br /&gt;
* [[マクロ覚え書き（開発者向け）]] (Ks, Papagoat, Sukemaru)&lt;br /&gt;
&lt;br /&gt;
== 注意事項 ==&lt;br /&gt;
Mery Ver 2.6.6（2018年3月22日）以前に作成されたマクロが動作しない場合は下記のページを参照してください。&lt;br /&gt;
&lt;br /&gt;
* [https://www.haijin-boys.com/discussions/6929 公式のマクロ 箇条書きが最新メリーで動作するかチェックいただけませんか？]&lt;br /&gt;
* [https://www.haijin-boys.com/software/mery/mery-2-6-6 テキストエディター「Mery」ベータ版 Ver 2.6.6 を公開、JavaScript エンジン Chakra に対応]&lt;/div&gt;</summary>
		<author><name>Tak</name></author>
	</entry>
</feed>