Notepad3 の日本語化パッチを作ってみました(後に公式な多言語化で不要に)。ついでに解説。初期状態でメモリ使用量は4MB未満で軽快動作。起動速度でいえばメモ帳と変わらない。インストールすればメモ帳を置き換えます。またはレジストリを使わないポータブル版としても使えます。
パソコンで文字を操作したい時、2秒もあれば画面が出るので必須なんですね。紙!というか。とりあえずこれ開いて間違いない。Windowsのメモ帳では固まったり、古くは折り返しが勝手に入ったりあまりにも貧弱だったので。
対応言語は45ほど。システムファイルもハイライトするのでメモ帳よりはるかに便利です。
- バッチ(.bat)、設定ファイル(.iniなど)、レジストリ(.reg)、Diffファイル
- HTML, XML, Perl, CSS, JavaScript, JSON, VBScript, Markdown, ASP (JS, VBS)
- C/C++, C#, Resource Script, Makefiles, CMake, Java, Visual Basic
- Inno SetupPascal, アセンブリ, PowerShell, Shell Script(bash)
- Perl, Python, Apache Config, SQL
- AutoHotkey (AHK), AutoIt3, AviSynth, CoffeeScript,
- LaTeX, Lua, NSIS, Ruby, Tcl, YAML / VHDL scripts
- Awk, D Script, Go Script, MATLAB, Nim, R-S-S (R言語?)、Rust、TOML
- NFO/ANSI art
WEB標準のUTF-8以外も様々な文字コードに対応。ファイルごとにカーソル位置、行しおり(ブックマーク)を記憶。置換機能は選択オプションが多く、正規表現も強力な鬼車が使えます。文書内2度目の単語入力を補完(日本語では文章を拾うので要設定)。トゥルーインライン入力に対応。予約語自動補完。文字コード検出強化中。また Notepad2 Zufuliu版の Zufuliu さんが IME の挙動を改善されています(Notepad++とかもベースが同じなのでいずれ改善されるかと)。
2019年8月までの追加機能
- 色プレビュー – #RRGGBB にフォーカスでその色になり、Alt + クリックでカラーピッカー起動。
- 改行コード/インデントの一貫性を検出。
- 複数単語同時編集 – 空白間の文字列選択状態で Ctrl + Shift + Space。Escで終了。
- 式 – 数式を選択状態にすると、ステータスバーの「式」に計算結果が出ます。
- 検索窓の透明化。
- バグ:IMEの色設定ができなくなる
2020年4月までの追加機能の一部
- 「元に戻す」の履歴の取り方(改行で区切るなど)
- 設定も追加: [Settings2] UndoRedoSplitTimeout 元に戻すの履歴に追加を区切るミリ秒間隔。UndoRedoSplitTimeout=500とかがいいのかな
- 修正:IMEの色設定を再びできるように
- 設定追加:[Settings2] LineCommentPortfixStrg 行コメントの冒頭に追加する文字?スペースなど
2020年7月の正式版に、フォルダ中ファイル群から文字列検索できる GrepWinNP3 が統合されています。そこで気づいたけど「Notepad3.exe /g %line% %path%」と GrepWin を設定すればこの統合がなくても使える。2021年初頭ではダークモードに対応。
Notepad3 のダウンロード
- 本家Notepad3インストーラーあるいはポータブル版ZIP
- GrepWinNP3 日本語化ファイル(別途Notepad3 のフォルダに入れ設定)
- 日本語用設定ファイルはこちらからどうそ。
- カラーテーマ作りました!
Notepad 3 の解説
以下、画像で説明。
配色は自分で設定でき黒ベースにしてあります。初期状態は白地に黒文字です。

左: Notepad2-mod、中: メモ帳、右:Notepad3








- oniguruma/doc/RE.ja 鬼車の正規表現の説明書

日本語用設定ファイルはこちらからどうそ。2からある機能の説明も。本家プログラムには私の日本語訳が2018年8月から反映されています。


[Settings2]
IMEInteraction=1
DirectWriteによるフォントレンダリング
Notepad2では明示的にクリアータイプ適用の指定ができ、Notepad3では、何も指定しなくても最初からクリアータイプが有効の様子。
当初、設定ファイルNotepad3.iniの設定で、DirectWriteでテキストを描画する設定が追加されていました。いろいろ試してみたけど、クリアータイプより綺麗に見えるかどうかは、フォント次第という感じでした。2018年のWindows10の更新で登場した「デジタル教科書体」はDirectWriteより、標準のGDIの方がいいです。
[Settings2]
SciDirectWriteTech=1
SciFontQuality=3
この設定はメニューからできます。

以下サイトによればこうです。グラフィックAPIのGDIは、Windows XPでも使われている以前のものです。DirectWriteはWindows 7から使われており、DirectXを通すためGPU処理も使い高速かつ綺麗になる可能性がある。
2番目のサイトによればこうです。まとめて描画するのに特化しているというのがDirectWriteの特徴だが、そうではなく1字ずつ2136字を描画したところ、初回描画は時間がかかるものの、OSがキャッシュをしているので2回目からは高速になるとのこと。64pxではキャッシュされているが、それ以上ではそうではないため早くならない。
- Windowsの画面表示を変えるDirect2DとDirectWrite, 2010年01月21日, ASCII.jp
- GDI vs DirectWrite vs FreeType, 2017年05月21日, しらいとブログ
設定ファイル種々
- Notepad3 Settings (Notepad3.ini)
- レンダリング以外の設定ファイル詳細はこちら。
- Set minimum widths of blocks in right side of status bar(Github)は、ステータスバーの設定、日本語化。
使い方注意
英語圏のエディタなので、日本語のフォントを設定していないと文字化けしやすい。これは特にNotepad2-modまでですね。これは設定するまでだけです。
ほかに文字コードの検出が弱いのか、ANSI(アルファベットだけとか)とUTF-8がそれぞれ逆に検出されて、文字化けしていることがあります。この時は、今ANSIならUTF-8、今UTF-8ならANSIで「読み直し」をするとたいてい直ります。「読み直し」ではなくて、「エンコード」(変換)を選択しないよう。もしエンコードしてしまったら上書き保存しないように。これは注意ですね。互換性のない文字だった場合、なくなっちゃいます。2018年8月には、GoogleのCompact文字コード検出というやつを組み込みはじめて強化中。Chromeに実装されている文字コード検出エンジンの様子。2019年夏にMozillaのUCHARDETに変更。もしくは両方か?。
単語補完の単語を半角空白で検出しているため、日本語では長文が出ることについて要望しました。要望が通り、単語補完をアルファベットだけ検出する機能改善が行われました。設定すれば解決できます。初期設定でも解決できるようにしたいのだけど、自分はC++がまだよくわからない、他の開発者はマルチバイトが分からないということで停滞しています。
自動インデント機能があるのはNotepad2 Zufuliu版です。あと若干対応言語が違う。自動インデントしたいときはNotepad2 Zufuliu版、Notepad3で文字化けするファイルはNotepad2 zufuliu版で開くなど使い分けています。
Markdownは自分が修正しました。以前のバージョンでは、Markdown記法で、リンクタイトルにアルファベット以外を入れるとハイライトがおかしくなっていました。再度読み込むと直るので、F12を押したり、右下の文書の種類ダブルクリックです。まだバグはあるみたいなので、覚えておいて損はない笑
他の軽いエディタで他の機能
Grepなら、サクラエディタです。Grepは、フォルダ内のサブフォルダを含めて、全文検索するという感じです。サクラエディタは高速Grep、除外設定もでき、ヒットしたファイルを個別に開くのも簡単です。このエディタも2MBいかないし、かつ軽いっすからね。Monokai風
縦書きで印刷なら、iText Expressです。まず縦書きでスムーズに印刷にたどり着けるソフトウェアが、ほかに見つかっていない。背表紙を作るのに便利です。A4用紙を半分に折った時の背表紙側に、縦書き印刷したものをハサミで切ってセロハンテープで張り付けるという感じです。この用途です。このエディタはiText.exeという実行ファイルだけで起動できて1MBも全然いかないので、このためだけに持っていても用量圧迫もありません。レジストリに書き込んでいるかもしれん。しいて言えば、デジタル教科書体で印刷したい場合は、「編集」プレファレンスから、フォントを変更して開きなおすといい。
インストールなしのソフトで縦書きなら色々ありますが、印刷してみると。
- CatMemoNote – 印刷は、標準のメモ帳に渡され横書きで印刷される。
- Mery – 印刷は、20行ほど印刷したら、最後の1行だけ印刷された。
- TATEditor – 印刷は、PDFで印刷という機能があるが、これを選択すると「フォントがなんとか」というエラーが出て使えなかった。
こういう感じで、なかなか印刷までたどり着けないです。自分的には縦書き機能は充実してなくてよくて、印刷ができれば。
下のトピックに関することなのですが
https://github.com/rizonesoft/Notepad3/issues/632
スペースキーで変換状態に入った時、エンターキーを押して確定せずに、続けてアルファベット(または数字、記号)キーを押した場合、変換状態が確定されアルファベットの入力が受け付けられるようにリクエストを出していただけないでしょうか?
例えば、「わたし」と入力し、スペースキーを一回押すと「私」と表示され、それに下線が表示され変換状態になると思います。この状態からエンターキーを押すのを省略して、続けて「は」と入力したいのです。
遅くなりすみません。
https://github.com/rizonesoft/Notepad3/issues/632#issuecomment-416623554 ですね。
キー入力がESCの場合にのみ「キャンセル」処理を行い、それ以外は「確定」。というだけで、変更は簡単そうなんです。またリクエストしてみます。
Notepad2 Zufuliu では確定処理になりますね。Notepad3 だけの挙動なのか、また見てみます。
Notepad3も近々リリースの2020年のバージョンで修正されます。時間がかかりましたができました。
現在、リリース候補版 RC2 が公式サイトからダウンロードできるので試せますよ。
御尽力ありがとうございます。
日本語入力のためには、Notepad3.iniファイルにIMEInteraction=1という記述をする必要があると思いますが、上記のエンターキー省略が可能なのは確認しました。
ただ、スペースキーで変換時、キャレットの位置が文字列の先頭に行きます。
もう一つ、起動後の最初の日本語入力時、タイトルバーの文字列(Untitled – Notepad3)が小刻みに震え、その間フリーズしているような状態になります。
以上の点は、そちらでも確認できますでしょうか?
テストありがとうございます。正式版の5.20.411.2が出ました。
キャレット文字列先頭、タイトルバー両方確認しました。調べてみますね。
報告はしたので、そのうち修正されるかもしれません。
最新版のv5.20.722.1で、修正を確認しました。
御尽力ありがとうございます。
インラインモードでは直ってないと思います。
タイトルバーの文字列は、Nopepad2 では修正されました。Notepad3 は西洋圏の方が開発しているのでまだ告を見送っています。
キャレット位置は Scintilla にはバグ報告しましたが対応はありません。Notepad2 の報告で分析されていますが、少なくとも IME の出すメッセージには従っているとのことです。
なにも報告していませんが、2020年9月のベータ版で、Notepad3のタイトルバーが直っている感じもします。
Notepad3、正式版v5.20.915.1が公開されました。おっしゃる通り、タイトルバーの件は直っているようですが、キャレットの位置はそのままのようです。
御尽力ありがとうございます。