Obsidianで日本語小説を書く設定 でControl Charactersプラグインを紹介しましたが、最近のObsidian Mobileアップデートで、Android環境で不具合が出るようになってしまいましたので、代替策を考えました。
Obsidian Mobile 1.5.11+Android+Control Charactersの不具合
不具合は、IMEで文字入力すると制御記号の直後だけカーソルが1文字分戻る、という現象です。
具体的に言うと「なんで」と入力したはずが「な」の時点で手前にカーソルが戻るので「んでな」になる。なんでやねん。
私はATOK Passportを使っていますが、試しにGboardに切り替えても同じでした。
なお、制御記号をリアルタイムで可視要素に置換する過程にIMEとの食い合わせが悪い不具合があるようなので、「Only show control characters in selection」オプションをONにして、選択中以外(=入力中)は非表示にしておくとこの現象は起きません。
改行を可視化するCSSスニペット
全角スペースを可視化するのはプラグインを作らないと無理な気がしますが、改行だけならCSSスニペットでなんとかなるので記載します。
私はソースモードしか使わないのでソースモード用ですが、ライブプレビューでも同じような感じで適用出来ると思います。
/* show line-break mark */
.markdown-source-view:not(.is-live-preview) br{
content: "";
}
.markdown-source-view:not(.is-live-preview) .cm-line:after{
content: "←";
font-size: 60%;
color: rgba(100 100 100 / 0.6);
}
適用方法は冒頭の記事に書きましたので省略。
CSSの解説
見た通りですが、編集中はcm_lineクラス単位で改行されるので、その後ろに「←」をお好みのスタイルでくっつける、というだけです。
なお、空行は以下みたいなHTMLになるのですが、divがブロック要素な都合上(たぶん)、afterを入れると二重に改行されるので、brは虚無に置き換えて無効化しています。
<div class="cm-line"><br></div>
おわりに
そのうちアプデで直るといいな、と思いますが、Control Charactersプラグインは最終更新が結構前なので難しいかもしれませんね……。→本体が直りました。感謝
全角スペースはスマートインデントをONにしていれば半角が入ったりすることはまずないのでいったん諦めているのですが、できれば表示したいので、プラグイン作ろうかな……。
この記事と関係ないですが、Obsidianとても便利に日々使っていて、何よりこの拡張性の高さに惚れ込んだので、先日Catalystライセンス(一番下の買い切りライセンス)を購入しました。今後ともおうえんしてます。
それではよきObsidianライフをʕ ·ᴥ·ʔ
コメント