2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac版RStudioのスクリプトエディタでカーソルがズレる問題と回避方法

Posted at

どのタイミングからなのかわかりませんが、macOS版RStudioのスクリプトエディタで、一部の日本語フォントを指定した場合、一部の記号類(→や□など)を含む行でカーソルがズレるようになりました。

問題の詳細

例えば、「神田→東京→有楽町」という文字列があって、カーソルが「神田」の「田」の右にあるとします。(スクリーンショットのフォントはOsaka-Monoです。)
rstudio1.png

右カーソルキーを押すと、カーソルが「→」と「東」の間に来てくれることを期待しますが、実際には矢印の上にカーソルが移動します。この状態でdeleteキー(WindowsのBackSpaceに相当)を押すと、「→」が消えます。
rstudio2.png

「→」ひとつにつきカーソルがおよそ0.5文字分ずれるようで、右カーソルキーを押してもカーソルは「有楽町」の「楽」と「町」の間までしか進みません。その状態でdeleteキーを押すと、「町」が消えます。
rstudio3.png

原因

→や□などの記号文字は欧文フォントと日本語フォントで同じユニコードが当てられており、欧文フォントでは半角、日本語フォントでは全角で表示されるのが一般的ですが、RStudioがこれを適切に処理できないことが原因のようです。

回避方法

①欧文フォントを使う

Andale Mono、CourierNewPSMTなどの欧文フォントを使えば、カーソルがずれることはなくなります。日本語の文字は(おそらく別の日本語フォントで)表示されますが、文字間隔が空いてしまい、見栄えが悪くなります。(下の画像はCourierNewPSMT)
rstudio_courier.png

②記号類を半角表示する日本語フォントを使う

たとえば、UDEV Gothicのユニバーサルデザインフォントの BIZ UDゴシック と、 開発者向けフォントの JetBrains Mono を合成したフォントですが、これの「文字幅比率 半角1:全角2版」を使うとカーソルがずれなくなります。自分はこちらの方法をとっています。

問題としては、フォントのインストールが必要なことと、記号類が半角表示されて詰まり気味になることででしょうか。

rstudio_udev.png

自分の環境

  • macOS Sonoma 14.4.1
  • RStudio 2023.12.1+402
  • R version 4.4.0
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?