光标在 RStudio 编辑器中的一些西班牙重音符号后移动

Cursor shifted after some spanish accent marks in RStudio editor

在 RStudio 中编辑某些带有西班牙口音(例如 á、é...)的代码行时,我键入的文本出现在光标位置之前 space。例如,在:

a <- tibble(b = c("01", "02", "03", "04", "05"),
        c = c("Amazonas", "Áncash", "Apurímac","Arequipa", "Ayacucho"))

如果我将光标放在“Apurímac”中的 c 之后并键入“o”,我将得到“Apurímaoc”而不是 Apurímaco。

我看到这种情况发生在带有西班牙口音(例如 á、é...)的行中,并且仅出现在重音字符之后。令人惊讶的是,它似乎并没有发生在大写重音字符之后,例如“Áncash”中的 Á。我已经尝试按照 here, here and here 所述更改 RStudio 设置中的字体,但没有成功。我怀疑这可能与从剪贴板复制有关,但我不太确定。虽然代码运行良好,但很烦人。

我是 运行 macOS 11.4.

上的 RStudio 1.4.1103

这是因为 RStudio 的编辑器无法使用连接标记将光标正确定位在 unicode 文本中。您的示例是 ,它由代码点组成:

LATIN SMALL LETTER I
COMBINING ACUTE ACCENT

有关详细信息,请参阅 https://apps.timwhitlock.info/unicode/inspect?s=i%CC%81

将此与同一字符的 NFC 规范化 í 进行比较,后者看起来相同但由单个代码点组成:

LATIN SMALL LETTER I WITH ACUTE

有关详细信息,请参阅 https://apps.timwhitlock.info/unicode/inspect?s=%C3%AD

不幸的是,在解决此问题之前,最好的解决方案是使用该字符的 NFC 规范化版本;即 LATIN SMALL LETTER I WITH ACUTE。或者,或者,使用 unicode 转义符(例如 "\u00ed")代替该字符。

另请参阅:https://github.com/rstudio/rstudio/issues/8859