我已经使用键盘选择了一些文本,从底行开始向上移动(|字符表示光标位置):
AAA | {BBB CCC
DDD} EEE FFF
现在,我想更改选择,使其从第一行的末尾开始,即看起来像这样:
预期结果:
AAA BBB CCC | {
DDD} EEE FFF
我可以通过逐字减少选择⌥ ⇧ →:
但自然的方法是通过⌘ ⇧ →,直接跳到第一行的末尾。在许多体面的文本编辑器中,这可以很好地工作(例如Sublime Text 2)。|
当选择文本时,它们还会使位置保持可见。
但是,OSX应用程序的默认行为是它们会忽略光标当前位于选择内容的开头这一事实,将其向右移动会删除该选择内容。取而代之⌘ ⇧→的是,无论光标当前位于何处, 都始终将选择内容从其末端扩展到行尾:
实际结果:
AAA {BBB CCC
DDD EEE FFF} |
有什么方法可以使本机OSX应用程序也按预期方式运行?
我使用的是OSX Yosemite 10.10.2,但据我所知,这个问题一直存在。
select text between the insertion point and the end of the current line
。您的示例中唯一未包含选择的行是最后一行。因此,OS X中的预期行为是从那里扩展选择,而不是在开始的地方将其缩短!我知道有些编辑器的行为有所不同,但是他们这样做是错误的,而不是系统!
(*)
意思吗?
(*)
意味着什么,但是它可能是文档的先前版本遗留下来的。我已经稍微更新了我的答案,以包括我所知道的仅全局键绑定选项,但是不幸的是,我很确定没有办法实现您想要的。由于该行为不是内置行为,因此即使您可以触发该行为,应用程序现在也不会如何处理它。