Skip to content

Charu3 SE Wiki (日本語)

Itagaki Fumihiko edited this page Jan 13, 2024 · 93 revisions

Charu3 SE - 仕様と使用法

🔶概要

Charu3 SEはWindows用のテキスト入力支援ツールです。 「データツリービュー」を呼び出して、そこにあらかじめ登録してある定型文を選び、アクティブなウィンドウにペーストすることができます。 データツリーに登録するデータは、フォルダーを利用して階層構造にすることができます。

また、他にもいろいろな機能があります。

🔶対応OS

Microsoft Windows Vista 以降

🔷インストール

ビルド済みのバイナリーリリースは https://github.com/itagagaki/charu3-SE/releases にあります。

zipファイルをお好きな場所に展開してください。インストーラーはありません。システムのリポジトリは使用しません。

🔷起動

展開した場所の Charu3.exe を実行してください。

※旧バージョン(3.8.0 から 3.8.2 まで)には設定の初期化の不具合があり、誤った設定となってしまっている可能性があります。 これらのバージョンを実行したことのある方は、一度下記の手順で設定をリセットしてください。 ご不便おかけし申し訳ありません。

設定のリセット方法

デフォルトの設定にリセットするには、Shiftキーを押したまま Charu3 を起動し、表示されるダイアログで [はい] を選択してください。

🔷データファイルの指定

初めて起動すると、データファイルを作るか既存のデータファイルを読み込むことを求めるダイアログが出ます。 お好きなフォルダにデータファイルを新たに作成するか、または既存のCharu3形式のデータファイルを指定してください。

データファイルが正常に設定できたら、次回の起動からはダイアログは出ません。 データファイルはメニューで切り替えることができます。

🔷メニュー

メニューを開くには通知領域アイコン image を右クリックしてください。

🔷基本的な使い方

ユーザーは、自分がよく入力する定型テキストをデータとして登録しておくことができます。 このデータは木構造のリストの形になっていて、「データツリービュー」ウィンドウで選択したり編集することができます。 データツリービューウィンドウは任意のホットキーでポップアップ表示させることができます。 (または、初期設定では通知領域アイコン左クリックで開くことができます)。 どのホットキーでポップアップさせるかは [設定] メニューの [全般] タブで設定することができます。 初期設定では Alt+X となっています。

データツリービューで左クリックするとコンテキストメニューが表示されます。[新規作成] で新しいデータやフォルダを追加することができます。

データツリービューで項目を選んでEneterをタイプするか項目をダブルクリックすると、その項目のデータ(テキスト)が現在アクティブなウィンドウにペーストされます。 これは、テキストを一旦システムのクリップボードにセットして、貼り付けのためのキー(典型的には Ctrl+V)を Charu3 SE が自動でタイプするという仕組みで実現されています。

アプリによっては、貼り付けのために Ctrl+V とは異なるキーを使うものもあるでしょう。(たとえば Emacs なら Ctrl+Y ですね)。 そのため、アクティブなウィンドウのキャプション(タイトル)別にコピーや貼り付けのキーをコンフィグレーションすることもできます。 [設定] メニューの [キーイベント設定] タブの [特定のウィンドウでの設定] に設定を追加してください。

データツリービューウィンドウは以下の場合に閉じます。

  • 項目を確定したとき
  • ESC キーを押したとき
  • 他のウィンドウにフォーカスが移動するなどして、データツリービューウィンドウがフォーカスを失ったとき

👆データツリービューの操作

マウスでの操作

  • クリックでの項目の選択や名前変更、フォルダの展開/折りたたみ、ドラッグ&ドロップでの項目の移動、ホイールでの選択の移動など、一般的な操作を行えます。
  • 右クリックでメニューが表示されます。
  • データ項目をダブルクリックすると、データをクリップボードに入れ、ペーストしてウィンドウを閉じます。
  • Shiftキーを押しながらデータ項目をダブルクリックすると、データをクリップボードに入れ、ペーストせずにウィンドウを閉じます。

キーボードでの操作

キー 機能
ESC ウィンドウを閉じる
Alt メニュー
Enter (選択項目がデータなら)データをクリップボードに入れ、ペーストしてウィンドウを閉じる; (選択項目がフォルダなら)展開; (項目の名前の入力中なら)入力完了
Shift+Enter (選択項目がデータなら)データをクリップボードに入れ、ペーストせずにウィンドウを閉じる; それ以外は Enter と同じ
または Shift+Space 前の項目に移動
または Space 次の項目に移動
Shift+ 前のフォルダ(無ければ前の項目)に移動
Shift+ 次のフォルダ(無ければ次の項目)に移動
(選択項目が折りたたまれたフォルダなら)展開; (選択項目が展開されているフォルダなら)子項目に移動
選択項目が展開されているフォルダなら折りたたみ、それ以外の場合は親項目に移動(もしあれば)
Shift+ 選択項目のすべての祖先を折りたたむ
Ctrl+Shift+ すべて折りたたむ
Home End PgUp PgDn 移動
Delete 選択項目を削除
Tab または Ctrl+Space 複数項目を選択
Ctrl+F 検索ダイアログを開く
F1 マウスポインターを選択項目に合わせる -- ツールチップを表示させるのに便利です
F2 選択項目の名前の変更
F3 次を検索
Shift+F3 前を検索

✨様々な機能

ワンタイムデータ

データには「恒久データ」と「ワンタイムデータ」の2種類があります。

ワンタイムデータは、データツリーから読み出してペーストされたら自動的にデータツリーから削除されるデータです。 ストックモードでデータツリーに自動的に追加されるデータはワンタイムデータとなります。

データツリービューでワンタイムデータ項目のアイコンをクリックすると恒久データに変わります。

履歴フォルダー

フォルダーには「通常フォルダー」と「履歴フォルダー」の2種類があります。

データツリービューのメニューで [新規作成] → [フォルダー] を実行すると、通常フォルダーが作成されます。 フォルダーを選択してメニューで [編集] を実行すると、編集ダイアログで通常フォルダーとするか履歴フォルダーとするか切り替えることができます。

履歴フォルダーには、クリップボードにコピーされたテキストが自動的に蓄積されます。 デフォルトでは最近コピーされた2個までが蓄積され、それ以前の履歴は自動的に削除されます。 この個数はフォルダーごとのオプショナルプロパティ Count=<個数> で設定できます。

ストックモード

ストックモードは、クリップボードにコピーされたテキストをCharu3のデータツリーにワンタイムデータとして自動的に追加していき、ペースト操作が行われたときにはそこから順番に1つずつ取り出してペーストを行う機能です。

どういう順番で取り出すかは、[設定] メニューの [ストックモード] タブで、先に入れたものから順に取り出す「先入れ先出し(FIFO: First-In First-Out)」か、最後に入れたものから逆順に取り出す「先入れ後出し(LIFO: Last-In First-Out)」かを選択することができます。

オプショナルプロパティ

データやフォルダに設定できるオプショナルプロパティは プロパティ名=値 の形式で、下記のものがあります。

対象:すべてのデータとフォルダ
プロパティ名 説明
Macro 置換形式名 Charu3以外のデータ形式で置換を行うDLLの名前を指定します
BeforeKey キー記述子 貼り付けのためのキーを発行する前に発行するキー 例: BeforKey=tab;5
AfterKey キー記述子 貼り付けのためのキーを発行した後に発行するキー 例: AfterKey=enter;5
HotKey ホットキー記述子 データツリービューを開いてこの項目を選択するホットキーを設定できます
DirectCopyKey ホットキー記述子 この項目に選択テキストをコピーするホットキーを設定できます
対象:すべてのフォルダ
プロパティ名 説明
Move yes または no yes はデータツリーから選択して貼り付けたデータをフォルダの先頭に移動します。デフォルトは no
対象:履歴フォルダ
プロパティ名 説明
Count 正の整数 保存するデータ数の最大値
ArchiveUnit 正の整数 保存したデータをアーカイブしていく単位
ClearRec yes または no yes とすると、Charu3起動時に以前の履歴データを取り込みません。デフォルトは no
Lock yes または no yes ではデータは恒久データとなり、no では一時データとなります。デフォルトは yes
Number yes または no データ名に付番するかどうか。デフォルトは yes
TitleLen 正の整数 保存するデータの名前の長さ。デフォルトは 32(バイト)
DuplicationCheck yes または no yes とすると前回と同じデータを取り込みません。デフォルトは yes

スニペット

データ編集ダイアログのテキストボックスの上にはスニペットリスト(図の①)があり、このリストからスニペット名を選ぶとそのスニペットのデータがテキストボックスのカーソル位置に挿入されます。

②では、ファイルを選んでそのパス名をテキストボックスのカーソル位置に挿入することができます。

edit

スニペットのリストは、Charu3.exe のフォルダーにある _locale\ja\snippets.json (Windowsの表示言語が日本語の場合)を編集してカスタマイズするすることができます。

置換(マクロ)

データ中、<charuMACRO> から </charuMACRO> までの間のテキストには下記の置換が適用されます。<charuMACRO></charuMACRO> はペーストされません。

注: 一見するとXMLのような形ですが入れ子にすることはできません。

置換される文字列 結果
$Y 現在の西暦4桁に置換されます
$y 現在の西暦2桁に置換されます
$M 現在の月2桁に置換されます
$MM 現在の月(3文字の省略形の英語 Jan, Feb, Mar, ...)に置換されます
$D 現在の日2桁に置換されます
$ddd 現在の英語の曜日(Sunday, Monday, Tuesday, ...)に置換されます
$dd 現在の英語の曜日(3文字の省略形 Sun, Mon, Tue, ...)に置換されます
$d 現在の日本語の曜日(日, 月, 火, ...)に置換されます
$H 現在の時(24時間表記2桁)に置換されます
$h 現在の時(12時間表記2桁)に置換されます
$m 現在の分2桁に置換されます
$s 現在の秒2桁に置換されます
$AMPM 現在の AM または PM に置換されます
$ampm 現在の 午前 または 午後 に置換されます
$SEL アクティブなウィンドウの選択テキストに置換されます
$CLIP クリップボードの内容に置換されます
$SHELL<コマンドライン> コマンドライン を実行し、空文字列になります
$RELATE<ファイルのパス名> ファイル を関連付けられているプログラムで開き、空文字列になります
$PLUG-IN<DLL,文字列> 文字列をパラメーターとしてDLLを呼び出し、DLLが返した文字列に置換されます

プラグイン

データ互換プラグイン

実行する Charu3.exe のあるフォルダーにサブフォルダー rw_plugin を作成し、その中にデータ互換プラグインを置いておくと自動的に認識されます。

ただし、過去のプラグインに関して動作確認はできていません。 さらに、旧Charu3プラグインのサンプルソースコードには誤りが見つかりました。 したがって過去のプラグインにはバグがある可能性があるため、完全に安全に使用できるとは考えていません。

一般プラグイン

過去のプラグインが正常に動作しないことがわかっています。 そのため、それらのプラグインを現在の開発環境で改めてビルドしてみようとしたところ、ソースコードに不足がありビルドできないことがわかりました。 そこで原作者に連絡を取ってみましたが今のところお返事がありません。

検索

データツリービューのメニューまたはCtrl+Fでデータの検索を開始できます。

この通常の検索のほかに、「項目の名前をタイピングすることで選択」する機能があります。 データツリービューでたとえばpをタイプすると「p」で始まる名前の項目に移動します。 次にすかさずiをタイプすると「pi」で始まる名前の項目に移動します。 このように時間を置かずに項目の名前をタイピングすることでその項目に移動することができます。 この機能は [設定] メニューの [データツリー] タブで調整することができます。

データツリービューのスタイルのカスタマイズ

[設定] → [スタイル] でデータツリービューのスタイルをカスタマイズすることができます。

ダイアログ内の [スタイル設定ファイルを読み込む] ボタンでは、以下のようなjsonファイルを読み込むことができます。読み込んだ各値はダイアログに反映されます。

{
	"backgroundColor": "#ffffee",
	"borderColor": "#ff9900",
	"fontName": "Arial",
	"fontSize": 90,
	"iconFile": "itemIcon.bmp",
	"textColor": "#663300"
}
データツリーの項目のアイコン

[設定] → [スタイル] の「アイコンセットファイル」に指定できるのは、18×18ピクセルのアイコンを横に22個並べた、高さ18ピクセル、幅396ピクセルのBMP画像ファイルです。 アイコンは左から順に以下のデータまたはフォルダーを表します。

  • 通常フォルダー(閉じている)
  • 通常フォルダー(開いている)
  • 履歴フォルダー(閉じている)
  • 履歴フォルダー(開いている)
  • ワンタイムデータ(閉じている)
  • ワンタイムデータ(開いている)
  • 一般データ(閉じている)
  • 一般データ(開いている)
  • 日付や時間を含むデータ(閉じている)
  • 日付や時間を含むデータ(開いている)
  • アプリを実行するデータ(閉じている)
  • アプリを実行するデータ(開いている)
  • ファイルを既定のプログラムで開くデータ(閉じている)
  • ファイルを既定のプログラムで開くデータ(開いている)
  • 選択中のテキストを含むデータ(閉じている)
  • 選択中のテキストを含むデータ(開いている)
  • クリップボードのテキストを含むデータ(閉じている)
  • クリップボードのテキストを含むデータ(開いている)
  • プラグイン実行を含むデータ(閉じている)
  • プラグイン実行を含むデータ(開いている)
  • キー入力を行うデータ(閉じている)
  • キー入力を行うデータ(開いている)

緑色(#00FF00)のピクセルは透明として扱われます。

💡情報とヒント

ユーザー設定ファイルの場所

通常モード(AppDataモード)

通常では、ユーザー設定保存ファイル settings.json と状態保存ファイル state.json の場所は %AppData%\Charu3 フォルダーです。 Windows 10では %AppData% は一般的には C:\Users\(user name)\AppData\Roaming です。 通常 AppData は隠しフォルダになっていますので、エクスプローラーで表示するにはエクスプローラーの「表示」タブで隠しファイルを表示する選択をしてください。

ポータブルモード

実行する Charu3.exe のフォルダーに、FORCE_INTO_PORTABLE_MODE という名前の通常ファイル(内容は空でも何でもかまいません)を置いて Charu3 を実行するとポータブルモードとなり、ユーザー設定保存ファイルおよび状態保存ファイルの場所は %AppData%\Charu3 フォルダではなく Charu3.exe のあるフォルダとなります。

Windows 起動時に自動的に実行する

Windows ロゴ キー + R キーを押し、 shell:startup と入力して [OK] を選択します。これにより、[スタートアップ] フォルダーが開きます。 そこに Charu3.exe のショートカットを貼り付けてください。

編集ダイアログでタブを入力する

Ctrl+Tab キーでタブを入力することができます。

編集ダイアログが狭い

ダイアログのボーダーをドラッグしてデータ編集欄を拡大することができます。

[設定] メニュー の [データツリービュー] タブ内での「ポップアップする位置」の設定について

「キャレット位置」を選択すると、データツリービューはアクティブなウィンドウ内のキャレット(テキスト入力カーソル)のそばにポップアップします。しかし残念ながらすべてのアプリケーションで期待通り機能するわけではありません。アプリケーションによってはキャレット位置を取得できず、その場合ポップアップ位置はウィンドウの左上隅となります。

[設定] メニュー の [キーイベント設定] タブ内での「待ち時間」の設定について

コピーとペーストでの待ち時間を設定する項目があります。これらの値を小さくするほどペースト処理が速くなり快適になります。しかし短すぎるとペーストが正常に行われなくなる可能性があります。初期値は50ミリ秒になっていますが、これはオリジナルのCharu3でのデフォルト値を踏襲しているに過ぎず、この時間があなたのシステムにおいて適切かどうかはわかりません。ペースト処理が正常に行われる範囲内で調整してみてください。

クリップボードからの取り込みを制限する

Charuはクリップボードに新しいテキストがセットされたことを検知すると、それをストックしたり履歴フォルダーに取り込みますが、登録したプログラムのウィンドウがアクティブなときにそれを抑止する機能があります。 [設定] メニュー の [高度な設定] タブ内の [ステルスプログラム] のリストに、抑止したいプログラムのファイル名または完全パス名を追加してください。 パスワードマネージャーアプリなどを登録しておくと良いでしょう。

Emacs用の設定

Emacsのウィンドウタイトルのデフォルト設定は (multiple-frames "%b" ("" invocation-name "@" system-name)) ですが、私はこれを次のように変更しています。

;; frame title
(setq frame-title-format '(multiple-frames ("%b - Emacs@" system-name) ("Emacs@" system-name)))

これでフレームが1つのときも複数のときもウィンドウキャプションに Emacs@ が確実に含まれることになります。

そして、Charu3の [設定] メニューの [キーイベント設定] タブの [特定のウィンドウでの設定] で、「ウィンドウの名前が Emacs@ を含む」ウィンドウに対するキー設定を追加すると、EmacsでもCharu3が使えるはずです。

貼り付けに使うキーは Ctrl+Y を設定すると良いでしょう。 (あなたがEmacsのキーバインドを変更しているなら別ですが)

コピーに使うキーに関しては、ちょっと考える必要があります。 まず思いつくのは Alt+W (kill-ring-save) ですが、このコマンドは選択範囲が存在しない場合(マークが設定されていない場合)にはエラーとなってしまいます。 そこで私はCharu3へのコピー用に独自の関数を作り、次のように Ctrl+Alt+X に割り当てています。

;; copy region for charu
(global-set-key (kbd "C-M-x") '(lambda ()
				 (interactive)
				 (if (use-region-p)
				     (let ((str (filter-buffer-substring (region-beginning) (region-end)))) (kill-new str))
				   (kill-new ""))))

これでEmacs対応は完璧です👍