ポテトエディタ Ver.0.18 ~オレ do it~

ポテトエディタ 取り扱い説明書

最終更新日:2024年6月30日

この説明書では、一部にGreenPadのreadme.txtを引用しています。


目次

ポテトエディタとは?
0101
 これは何?
0102
 特徴
0103
 キーボードショートカット
0104
 
導入
0201
 インストール
0202
 アンインストール
0203
 セキュリティソフトの注意
0204
 
共通設定
0301
 ファイル・フィルタ
0302
 日時の書式
0303
 フリーカーソル
0304
 他で更新された時
0305
 
文書タイプ別設定
0401
 文書タイプ
0402
 レイアウト
0403
 キーワード
0404
 登録
0405
 レイアウトファイルの作り方
0406
 キーワードファイルの作り方
0407
 キーワードファイルの書き方
0408
 先頭強調
0409
 
検索・置換
0501
 コマンド
0502
 正規表現
0503
 \n
0504
 ?(控えめ指定子)
0505
 GREP
0506
 
罫線モード
0601
 罫線モードとは
0602
 
入力補完
0701
 入力補完とは
0702
 使い方
0703
 ファイル作成方法
0704
 
さらなる機能
0801
 コマンドラインオプション
0802
 文字コード番号
0803
 iniファイル
0804


ポテトエディタとは?

<これは何?>
64ビットのWindows10以降で動作する、テキストエディタです。
なるべくシンプルさを心がけ、複雑な設定は排除しながらも、
機能性も心がけたものにしたいと思っています。

ライターさん向けかプログラマーさん向けかで言ったら
プログラマーさん向けです。


<特徴>
・Unicode対応
・プロポーショナルフォントが使える
・キーワード色分けが出来る
・正規表現検索可能
・更新された行を3色で色分け
・フリーカーソルモードが使える
・行頭8桁目までに、指定の文字があった場合、強調
 COBOLなどに便利
・罫線が楽に引ける罫線モード搭載
・プログラミングに便利な入力補完機能を搭載


<キーボードショートカット>
メニューから選べないキー割り当ては次の通りです。

Ctrl+↑3行単位で上カーソル移動
Ctrl+↓3行単位で下カーソル移動
Ctrl+→トークン単位で右カーソル移動
Ctrl+←トークン単位で左カーソル移動
 
Ctrl+Homeテキスト先頭へ移動
Ctrl+Endテキスト末尾へ移動
 
Shift+変換選択範囲を再変換
Ctrl+BS確定取消
 
選択した状態で
Tab行頭タブ挿入
Shift+Tab行頭タブ削除


特殊な状況下で使えるキー割り当ては次の通りです。

●罫線モード
      F1太字
      F2細字
      F5上書
      F6挿入
      F7消去
      F8移動

●設定ダイアログ
      F1OK
      Escキャンセル


導入

<インストール>
インストーラーはありません。
zip形式にて圧縮されています。

ファイルを選択して、右クリックで[すべて展開]を実行してください。
フォルダを訊かれますので、「C:\FreeWare\」 などと
適当にフォルダを選択して解凍してください。


<アンインストール>
そのままフォルダを削除すればOKです。

ただし拡張子の関連付けを行った場合は、
レジストリを削除する必要があります。(そういうのを気にする方は…)
残っていても支障はありません。
また、レジストリにはWindowsの重要な設定が書いてありますので
間違えるとWindowsそのものが動かなくなることがあります。
なので、ここではその方法を書きません。
ネットを検索して分かる方のみ行ってください。


<セキュリティソフトの注意>
セキュリティソフトを使っていると、
インストール時に警告等が出る可能性がありますが、
ポテトエディタはウィルスではありません。安心してお使いください。
ポテトエディタの知名度が低いからですな。m(_ _)m

また、Nortonさんを使っていると、保存時に警告が表示され
保存できないときがあります。(「遮断した脅威」と表示。)
これは、
「得体の知れないソフトが勝手にファイルを変更しないように」
というNortonさんの慎重な対応だと思われます。
「詳細を表示」―「プロセスの除外」をクリックしてください。

また、Nortonさんは、プログラムにバグがある場合も
発見してくれます。
その場合は、作者にお知らせくださいませ。


共通設定

<ファイル・フィルタ>
メニューの[ファイル][開く]で開かれるダイアログに表示する
ファイルの拡張子を記述します。
*.xxx の形式で記述します。
複数ある場合は、セミコロンで区切って記述します。

例)
*.txt;*.cpp;*.h;*.html


<日時の書式>
メニューの[編集][日時の挿入]で、
出力するタイムスタンプの形式を記述します。

[編集]ボタンを押すと、リストボックスから選べます。
「2桁ゼロ」「2桁空白」「1桁」の違いとは?
2桁ゼロ    2桁空白    1桁

"06年02月"  " 6年 2月"  "6年2月"
「日付」の「和暦:元年表記:」とは?
令和1年ではなく、令和元年と
表記するための項目です。


<フリーカーソル>
フリーカーソルは、改行を超えてどこでも
カーソル移動可能な機能です。

もし、改行より右に文字を入力すると、半角空白で満たされます。
[フリー時、タブを挿入する]にチェックが入っていると、
タブを含めた空白になります。

メニューの[編集][フリーカーソル]は一時的な設定です。
ポテトエディタを起ち上げ直すと戻ります。


<他で更新された時>
現在、ポテトエディタで編集中のファイルが
別のエディタなどで開かれて、更新された時
通知を受け取るかどうかを設定できます。


文書タイプ別設定

<文書タイプ>
メニューの[設定][文書タイプ]の一覧から
項目を選ぶことで、適切な表示形式を選べます。

また、メニューの[設定][設定]から[文書タイプ別設定]を選択し
文書タイプの状態を変更することができます。
以下、その設定方法です。


<レイアウト>
レイアウトは、フォントサイズなど見た目に関する設定です。

レイアウトには、"default.lay"というレイアウトファイルが用意されています。
これは、何も設定されていないときに、読み込まれる設定ファイルです。

例えば、ポテトエディタには、*.txtという拡張子用に
レイアウトが関連付けられた文書タイプが用意されていません。
よって、拡張子txtのファイルを開くと、
default.layの値が読まれます。

このように、標準の設定を使いたい場合は
関連付けられた文書タイプを作成しない、
レイアウトファイルを作成しない、又は、ファイルに項目を記述しない
ということになります。

以下、[DLG]でファイルに項目を記述しない方法です。

・文字列、数字を記入する箇所では
 未入力にすることで、標準になります。

・チェックボックスは、
 あいまい状態にすることで、標準になります。


<キーワード>
キーワードは、プログラミングの強調表示に関する設定です。

if while 等を青く表示するなどのキーワード表示。
/* */ 等を緑色に表示するなどのコメント表示。
先頭8桁目までの文字で、行全体を強調する先頭強調があります。

もちろん、何色かは別途(レイアウトで)指定できます。


<登録>
ここでは、実際に登録しながら、
その使い方を見ていきたいと思います。

[追加]ボタンを押すと、[文書タイプの追加]ダイアログが開きます。

名前に"COBOL"
拡張子に (cbl|cob) と入力してください。
複数ある場合は、カッコで全体を囲い、縦棒で区切ってください。
[OK]ボタンを押します。
キーワードに"cobol.kwd"を選択してください。
レイアウトに"ポテト.lay"又は"program.lay"を選択してください。

登録は以上です。


<レイアウトファイルの作り方>
レイアウトファイルを追加したい場合は、
"新しいテキストドキュメント"を作成し、
拡張子に lay をつけて type フォルダに置いてください。

メニューの[設定][文書タイプ別設定]
レイアウト横の [DLG] ボタンを押すとダイアログが開きます。
[OK] ボタンを押せば、適切な形式で保存されます。

項目を省略すると、その項目に関しては default.lay の
内容が読み込まれます。default.lay も無いときは exe 内に
内蔵してあるデフォルトの設定が読み込まれます。


<キーワードファイルの作り方>
キーワードファイルを追加したい場合は、
"新しいテキストドキュメント"を作成し、
拡張子に kwd をつけて type フォルダに置いてください。

メニューの[設定][設定][文書タイプ別設定]
キーワード横の [DLG] ボタンを押すとダイアログが開きます。
[OK] ボタンを押せば、適切な形式で保存されます。

[DLG] ボタンを押せば、簡単に入力できますが、
キーワードの文字列入力だけは、むしろテキストエディタで
行ったほうが便利かもしれません。
その場合、[編集]ボタンを押して直にテキスト入力してください。

そのためのキーワード概略を書いておきます。

 1行目: flag
 2行目: ブロックコメント開始A
 3行目: ブロックコメント終了A
 4行目: ラインコメントD
 5行目: ブロックコメント開始B
 6行目: ブロックコメント終了B
 7行目: ラインコメントE
 8行目: ブロックコメント開始C(ブロックBからのネスト)
 9行目: ブロックコメント終了C(ブロックBからのネスト)
10行目: ラインコメントF
11行目: コメントの最大トークンの数-1
12行目: 先頭強調の桁数
13行目: 先頭強調の文字
14行目以降: キーワードA
 1行空けて: キーワードB
 1行空けて: キーワードC


<キーワードファイルの書き方>
キーワード ====================
  強調表示したい単語をひたすら書き連ねる

  キーワードとして使えるのは、
  数字、アルファベット(大小)、下線
  からなる単語のみ。border-width とか #include とかはダメ。
  __int64 などは可。

コメント ======================

  コメント記号としては、
  空白文字を除いたASCII文字のみが使える。

  ここで、数字、アルファベット(大小)、下線を「文字」と呼ぶことにし
  それ以外の - # * 等を「記号」と呼ぶことにします。

  「記号」から始まった場合、途中に「文字」と「記号」を
  挟むことができますが、
  「文字」から始まった場合、途中に「記号」を挟むことはできません。

  正しい例
   /*  rem  =begin  <comment>

  ダメな例(ってこんな言語あるかわかりませんが…)
   begin=  _*


<先頭強調>
先頭強調はCOBOLのコメントのために考えたものです。
他にも引用符の強調に使えると思ったので、
あえてコメントとはしませんでした。

また、コメントではないので、行全体の色を変えるだけです。
その前後にブロックコメントがあった場合、
コメントが有効となりますのでご注意ください。
例えば
1桁目に > という先頭強調をした場合。
>  /*     先頭強調の色だがブロックコメント /* が有効
ABC       ブロックコメントの範囲内
*/  DEF   */ でブロックコメント終了
指定方法は、[桁位置]を「1桁目」から「8桁目」までで選んで
文字を指定します。
文字は4文字まで入力できます。その際、4文字の内いずれかがあった場合、
強調されます。


検索・置換

<コマンド>
検索・置換ダイアログを開くのは Ctrl+F または Ctrl+H です。

次のアクセラレーターキーが用意されています。

F3 で次(下)への検索が出来ます。
Shift+F3 で前(上)への検索が出来ます。
Ctrl+F3 で次(下)への置換が出来ます。
Shift+Ctrl+F3 で前(上)への置換が出来ます。


<正規表現>
検索には正規表現が使えます。
対応している正規表現は以下のとおりです。

正規表現はこれらのメタ文字を使って、文字を表現します

^ $ . | [] () * + ? \ {}

文字や文字グループを意味するメタ文字
 . どんな文字でも一文字
a あ
 | 区切られたいずれかの文字
abc|defabc か def
 [] カッコ内のいずれかの文字
[abcd]a か b か c か d
[a-d]a から d までの文字のいずれか
[^a-d]a から d 以外の文字のいずれか
 () グループ化。カッコ内の文字をまとめる
Windows(8|10|11)Windows8 か Windows10 か Windows11
繰り返しを意味するメタ文字
 * 0回以上
ab*a や ab や abbbb など
 + 1回以上
ab+ab や abbbb など
 ? 0回か1回
ab?a か ab
 {n} n回
a{2}aa
 {n,} n回以上
a{2,}aa や aaaaaa
 {n,m} n回以上m回以下
a{2,4}aa か aaa か aaaa
 ? 控えめ指定子
上記6種の繰り返しの後ろに付ける(詳細は下記)
場所を意味するメタ文字
 ^ 行頭
^[0-9]行頭にある数字
 $ 行末
.$行末の何か1文字
エスケープ文字
 \ メタ文字自体を表現するのに使う
dir\\file\.txtdir\file.txt
[] 内では必要ない。ただし、^ や - や ] を表現するのには必要
その他
 \t タブ
 \n 改行
置き換えのメタ文字
 \w [a-zA-Z0-9_]英数字
 \W [^a-zA-Z0-9_]英数字以外
 \d [0-9]数字
 \D [^0-9]数字以外
 \s [\t ]空白・タブ
 \S [^\t ]空白・タブ以外


<\n>
改行は\nです。(正規表現指定時)
複数行の検索は出来ませんので、検索文字列に含む場合は、
末尾にのみ指定可能です。
置換文字列には、複数個あっても構いません。


<?(控えめ指定子)>
HTMLなどのタグを検索しようとして
<.+> と検索した場合、次の文字列ではどのようにマッチするでしょうか?
<em>テキスト</em>
<em> でしょうか?
<em>テキスト</em> でしょうか?
正解は後者です。
通常の+では欲張り指定となっているため、
出来るだけたくさん一致しようとします。
しかし<.+?>とすると控えめになり
<em>のみに一致します。


<GREP>
"Grep"とは複数のファイルから、検索するシステムです。
"Grep"用のプログラムをインストールしておく必要があります。
メニューの[設定][設定]外部Grep欄に
入力しておくことでポテトエディタから起動できます。例として私の環境では
    C:\FreeWare\HNXgrep\HNXgrep.exe "%D"
となっています。外部ツールの起動時に、
%D は「現在開いているファイルのあるフォルダ」
%F は「現在開いているファイルのフルパス名」
%N は「現在開いているファイルの名前部分」
に置き換わります。ちなみに作者のおすすめGrepプログラムは
HNXgrep (http://hp.vector.co.jp/authors/VA055804/)
です。


罫線モード

<罫線モードとは>
日本語IMEを使っている方なら「けいせん」と入力して
変換候補に出てくる ━ を知っているでしょう。
しかし、わざわざ文字を入力して、変換するのは面倒な作業です。
そこで、罫線モードを用意しました。

罫線モードを起動すると、右上にダイアログが出ます。
あとは、カーソルキーを押すだけで、線が引けます。

太線と細線の切替もファンクションキーで出来ます。

F1 : 太線
F2 : 細線
F5 : 上書
F6 : 挿入
F7 : 消去
F8 : 移動

注意として、プロポーショナルフォントでの使用は
難しいかもしれません。


入力補完

<入力補完とは>
文字を入力し始めると、リストが出てきて選べるという
あのシステムです。

ポテトエディタでは、半角英数字、下線のみ認識します。

ひらがな等は、MS-IMEやATOKが標準で使えるようになっていますので
そちらで対応してください。


<使い方>
メニューの[設定][設定]
入力補完使うにチェックを入れてください。
必要に応じて自動入力にチェックを入れてください。

後は、使う辞書を選択しなければなりません。
[文書タイプ別設定]の、入力補完の欄で使う辞書を設定してください。
ポテトエディタでは、"C.cmp"しか用意されていません。
私の力不足です。 m(_ _)m
必要に応じて作成してください。

自動入力にチェックが入っている場合、文字の入力を始めると
自動的にリストボックスが表示されて、選択できるようになります。
Enterキーで決定です。

自動入力でない場合は、Ctrl+Spaceで起動です。

メニューの[表示][入力補完の自動収集]を実行すると
現在、編集中のテキストから、自動的に単語を拾い上げ
辞書に追加してくれます。


<ファイル作成方法>
入力補完で認識できる文字は、半角英数・下線です。
1行1単語で、テキストファイルにひたすら入力していきます。

ただし、テキストには記号も記述できるため

Beep(DWORD Freq, DWORD Duration)

といった説明を付属して記述させることも可能です。

これは、ポテトエディタVer.0.14にあったクイックヒントを
兼ねた技術だと思います。

文字列一覧を入力し終えたら、[ファイル][別名で保存]で、
文字コードを UTF16LE(BOM) 形式にして保存してください。
拡張子は cmp です。


さらなる機能

<コマンドラインオプション>
  -l : 行番号指定
  -c : 文字コード指定
 の2つがあります。

 potato -l543 -c932 aaaa.txt
  で、強制的にShiftJISで、aaaa.txtを開き、
  543行目を一番上にした状態で起動します。

 potato aaaa.txt -l543 -c932
  ではダメです。オプションはファイル名より前に。

 potato -l123 aaaa.txt -l456 bbbb.txt
  とやって2つのファイルを開くことは可能。

 -cの後ろの数字は、下にあげる"文字コード番号"を指定します。


<文字コード番号>
コードページ識別子を記載したMicrosoftホームページを
参考に使ってみてください。

代表的なものは下に記しておきます。
UTF-5は数値が割り振られていないようなので
ポテトエディタで -2 として登録してあります。
その他のUnicodeでBOM有のものは、マイナス値を割り振っています。

SJIS = 932 // 日本語1 (Shift_JIS)
EucJP = 51932 // 日本語2 (日本語EUC)
IsoJP = 50220 // 日本語3 (ISO-2022-JP)
 
Western = 1252 // 欧米 (Windows1252 > ISO-8859-1)
UTF5 = -2 // Unicode (UTF-5) : BOM無し
UTF7 = 65000 // Unicode (UTF-7) : BOM無し
UTF8 = -65001 // Unicode (UTF-8) : BOM有り
UTF8N = 65001 // Unicode (UTF-8) : BOM無し
UTF16b = -1201 // Unicode (UTF-16) : BOM有り BE
UTF16l = -1200 // Unicode (UTF-16) : BOM有り LE
UTF16BE = 1201 // Unicode (UTF-16BE) : BOM無し
UTF16LE = 1200 // Unicode (UTF-16LE) : BOM無し
UTF32b = -12001 // Unicode (UTF-32) : BOM有り BE
UTF32l = -12000 // Unicode (UTF-32) : BOM有り LE
UTF32BE = 12001 // Unicode (UTF-32BE) : BOM無し
UTF32LE = 12000 // Unicode (UTF-32LE) : BOM無し

参考(コードページ識別子)


<iniファイル>
設定ダイアログで設定するとここに書き込まれます。
Windowsのごく普通のINIファイル。ANSI-CP (日本ならShift_JIS)+CRLF で
書かねばなりません。例として、次のような感じになります。

[ユーザー名]
UndoLimit=    // アンドゥ回数制限。-1 なら制限無し
TxtFilter=    // [開く]ダイアログ用のフィルタ。*.xxx の形で、; で区切ること
OpenSame=     // 同じウインドウで開くなら1、でなければ0。
CountUni=     // 俗に言う半角全角を区別せず、横の桁数を数える
GrepExe=      // Grep用に使う外部アプリ起動のコマンドを入れる。
MRU=          // [最近開いたファイル] に表示する個数。最大20個
MRU#=         // [最近開いたファイル] を保存
SearchIgnoreCase=  // 検索の時大文字小文字の違いを無視するかどうか
SearchRegExp=      // 正規表現検索するかどうか
NewfileCharset=    // 新規作成したファイルの文字コード
NewfileLB=         // 新規作成したファイルの改行コード
NewfileDoctype=    // 新規作成したファイルの文書タイプ
RememberWindowSize= // ウインドウサイズを再開時に再現するなら1
RememberWindowPos=  // ウインドウ位置を再開時に再現するなら1
WndX=
WndY=
WndW=
WndH=
WndM= // 記憶されたウインドウサイズや位置
InsertTab,inFreeArea= // キャレットがフリー状態の時に文字入力した際、
                      // 半角空白ではなくタブを挿入するなら1
PrintMarginLeft=
PrintMarginRight=
PrintMarginTop=
PrintMarginBottom=  // 1/100mm単位の印刷余白。例)3mmなら300。

[DocType]
1=
2=            // 文書タイプの名前を列挙。連番なら幾つまで並べてもOK

[文書タイプ名]
Pattern=      // この文書タイプを自動適用するファイル名を正規表現で
              //   (ファイル名全体にマッチするように)
Keyword=      // キーワードファイルの名前
Layout=       // レイアウトファイルの名前
AutoCmp=      // 入力補完ファイルの名前

//----------------------------------------------------------------
ユーザーごとに設定を変えたりしたくない場合は、次のように、
SharedConfigというセクションと、Enable=1 という行を書いておく。
//----------------------------------------------------------------
[SharedConfig]
Enable=1
//----------------------------------------------------------------
こうすると、設定項目はすべてこのSharedConfigセクションから読み書き
されるようになる。設定済みポテトエディタをiniと合わせて色々な環境へ
持ち運びたいときに便利。