viMarkdown の概要、主な特徴、操作方法、ロードマップ、ビルド方法等を知りたい方は README_ja.md を参照してください。
※ windows版: ビルドや環境構築は不要です! 本ページ下部の Assets からZIPをダウンロードして解凍するだけで、すぐに起動できます。
v0.3.036 リリースノート
新機能
- 単語単位のインラインマージ機能の追加
- 変更行の挿入単語を右クリックした際、専用コンテキストメニュー「相手ビューに単語を反映(Apply Word ... to Peer View)」から、ピンポイントで相手側にマージできるようになりました。
差分比較(Diff)& マージ機能の強化
- 行・ブロック単位のマージ機能の追加
- 差分箇所の左端に「≫」(左ビュー)「≪」(右ビュー)のマーカーを表示し、これをクリックすることで変更内容を相手側の文書へ直接適用できるようになりました。
- フォントサイズの同期による位置合わせの改善
- 左右のビューでフォントサイズが常に同じになるよう同期させ、ダミー行(空行)のレイアウト位置が完全に揃うように改善しました。
- ダミー行(空行)の自動クリーンアップの安定化
- テキスト編集時やモード切り替え時に、一時的なダミー行の削除・再配置処理(
removeDummyBlocks)が正確なタイミングで実行されるよう修正し、表示崩れを防止しました。
- テキスト編集時やモード切り替え時に、一時的なダミー行の削除・再配置処理(
日本語入力(IME)および操作性の向上
- IME文字確定時の処理のフック
- 日本語入力(IME)で文字が確定した際にも、自前の文字挿入・削除イベントが正しくフックされ、同期・処理されるよう改善しました。
- IME起動時の vi 挿入モード自動遷移
- IMEでの入力を開始した際に、自動的に vi キーバインドの「挿入モード(Insert Mode)」へ遷移し、スムーズに入力できるようになりました。
- 行番号描画の効率化
- 行番号表示時の半角1文字幅の計算結果を保持するようにし、描画パフォーマンスを向上させました。
バグ修正
- 空行やファイル末尾(EOF)の比較不具合の修正
- 途中に改行のある文書や、空行・EOFが絡む文書の比較において、位置合わせがズレてダミー行が異常に挿入されたり、結果が不正になったりするバグを修正しました。
- 特定文書比較時のクラッシュバグの修正
- 特定のテストケース原稿を比較した際に、アプリが不正終了する重大なクラッシュバグを特定し、修正しました。
- 重複した diff 処理の修正
- メニューの「Tools > Diff」を実行した際、内部的な比較処理(
do_diff)が不要に2回呼び出されていた不具合を修正しました。
- メニューの「Tools > Diff」を実行した際、内部的な比較処理(
内部設計の最適化(今後のアップデートに向けて)
- ガードフラグのネスト(入れ子)対応
- 処理中ガードフラグ
m_processingをboolからintに変更し、複雑な処理の呼び出しが重なった場合でも正確に制御できるよう改善しました。
- 処理中ガードフラグ
- 自前のUndo/Redo機能の実装に向けた下準備
- 独自の履歴管理の実装に向け、エディタ内部の文字挿入(
do_insertText)および削除関数を整理・カプセル化しました。 - これに伴い、既存の標準Undoによるダミー行の一時削除処理などを整理・封印し、より堅牢な設計への移行準備を整えました。
- 独自の履歴管理の実装に向け、エディタ内部の文字挿入(