NSTextView:复制列表项不包括粘贴时的列表格式

NSTextView: copying a list item does not include list formatting on paste

我有一个基本的 Mac 应用程序,其中有股票 NSTextView(Interface Builder 中的 "Rich Document Content Text View"),但我在 TextEdit 中也观察到这种行为:

  1. 创建一个包含 3 个项目的新项目符号列表
  2. Select 并复制 一个 列表项
  3. 将列表项粘贴到同一个文档中

→粘贴的项目失去了它的列表格式,即当我最后按Return时,没有自动添加新的列表项目。

→ 当我 select 两个或更多列表项时,它工作正常。

这是一个简短的视频:

其他观察结果

我在 Scrivener(我相信它也使用 NSTextView)中测试了相同的过程,在这里复制单个列表项会将正确的格式列表属性放在剪贴板上。

我检查了剪贴板,当我复制单个列表项时,RTF 内容确实与 Scrivener 不同。

NSTextView(复制了一项):

\f0\fs36 \cf0   \'95    Regular list item}

代书人(复制一件):

\f0\fs32 \cf0 {\listtext    \uc0\u8226  }Regular list item}

注意 Scrivener 如何在剪贴板上放置正确的格式。

NSTextView(复制了两项):

\f0\fs36 \cf0 {\listtext    \uc0\u8226  }Regular list item\
{\listtext  \uc0\u8226  }Another list item}

复制两个列表项时,它按预期工作。

我错过了什么?或者这是 bug/feature 而 Scrivener 人员正在他们的应用程序中解决这个问题(例如,检测何时复制单个列表项并修复其属性)?

这是一个"feature"。

尝试将光标放在行首(而不是行尾)并向下拖动到 select 该行,复制、粘贴 - 您将在行尾得到一个 return粘贴的,但如果你回到粘贴行的末尾并点击 return,你会发现你得到了列表格式。

"paragraph" 的格式详细信息附加到换行符,复制文本时也包含 selection 开头的格式信息。

source of TextEdit is available from Apple,链接的版本是几年前的旧版本和 Apple 的文档存档,您可能会在 Apple 提供的新 "improved" 文档中找到更新的版本,否则您会失去理智;- (. 看了就知道文系统的这些features/quirks是怎么处理的

HTH