仅使用键盘进行拼写校正


8

我是OS X的长期用户,因此,我经常喜欢系统范围内的内置字典。这是一个很小的细节,如果您来自Windows(或Linux),那么对您有很大帮助(前提是您确实关心提高打字技能)。默认情况下(由于底层技术)在大多数Cocoa应用程序上可用,它突出了错误的单词和明显的语法错误。日子不好过,但结果通常总比没有好。我主要用英语和西班牙语输入,在两种情况下,这都是一个不错的解决方案。

但是我只是意识到我有一个问题。在“打字模式”下,我很少使用鼠标。如果我正在写,则不需要使用鼠标。我只是不使用它。我设法使用键盘及其快捷键执行大部分操作。

上面有一些例外(对话框需要鼠标操作,或者根本无法获得特定UI元素的焦点)。这些异常很烦人(而且经常出现),但是我想我已经对付了(抓老鼠并杀死一只小猫)。

但是,有一个我想知道如何解决的问题,也许该网站背后的想法可以为我清除。

想象以下简单的场景。TextEdit。

您开始输入以下内容:

文字编辑1

为了修复拼写错误的单词,您可以使用鼠标进行一些选择,或者可以使用⇧Shift⌘Cmd:组合来实现:

替代文字

但是,该对话框没有键盘焦点,因此我无法获取它,因此我必须触摸鼠标并单击它,然后解决问题。这不好。

我想要的是能够带来这个:

替代文字

…用我的键盘。

当我右键单击单词时,该菜单就会出现。

您如何处理?您使用鼠标吗?您使用键盘吗?

请赐教。

LION OS X 10.7的更新

你们中许多人都知道,OS X 10.7“ Lion”已经发布,并且在此领域带来了一些变化。可悲的是,最大的抱怨仍然不是100%固定的。

好消息是,仅使用键盘进行拼写检查是“可能的”,尽管我们仍然没有带下划线的单词的“右键单击”这样的弹出窗口。

拼写检查窗格现在可以集中使用F6,如果它失去焦点,但默认情况下有它,当你调用它:,这使您可以调用它在红色下划线的字,然后按更改单词(或TAB集中列表替代方案,然后对其进行更改)…但不是真的因为…

…坏消息是,如果我在这里犯了一个错误并且尝试进行拼写检查,它将转到下一个错误,而不是光标下面我有的单词,这很烦人,因为这意味着您必须实际调用拼写检查器之前先返回光标。

此外,“语法窗格”上没有快捷方式,因此您必须在TAB栏上单击以单击“更改”以外的任何内容。选项的顺序也很奇怪:

1)启动语法窗格后,将焦点放在“返回”的“更改”上,但是如果需要,您可以开始输入替换项。因此,您可以键入“正确的单词”并按回车键,或者可以按回车键接受列表上的第一个替换项,或者可以按TAB键移动到该列表,选择一个新列表(使用箭头键),最后按回车键接受它。

2)如果要在不接受当前单词任何内容的情况下移至下一个更改,则需要按四下TAB键,然后按空格键以单击“ 查找下一个”

3)焦点是一种方式,如果您在该对话框中找到最后一个选项,它将不会循环回到第一个选项,因此您必须在焦点链中移回Tab键。(奇怪的?)

4)除非抓住鼠标,否则您不能将“ 定义”,“ 猜测”或“ 按语言按钮/组合自动”框的焦点对准。

5)您可以通过按退出键关闭面板。

最终,实现了从“错误到错误”的转变;。这将从一个带下划线的红色字跳到下一个循环。


我也打算发布这个问题。感谢您撰写本文,我也很想阅读答案。
杰森·萨拉兹

哎呀!osx =鼠标+键盘:(
Sagar R. Kothari 2010年

Answers:


4

!老兄,我为您准备了最好的东西。

只需键入您的一些单词字符,然后按F5键,然后查看魔术,这就是您想要的。假设您没有得到“擦”字并得到您想要的东西。

这是您想要的快照。 (许多快捷键的来源)

假设我是一个用户,我将按照以下步骤进行操作。

  • 开始输入
  • 假设我输入Compu
  • 然后按F5获取提示

简单而简短,只需F5即可为您完成所有操作,无需按Cmd +:,然后从列表中获取正确的内容。它将为您提供当场清单。

替代文字


1
它对我不起作用
Am1rr3zA 2010年

@ Am1rr3zA-您做了什么?输入您单词的两个或三个字符,然后按F5键以获取建议。
Sagar R. Kothari 2010年

1
很好,我赞成你。可悲的是,这不是正是我要找的; 我知道OSX中的单词补全功能,但是这样做的问题是它并没有真正执行拼写校正,它只是建议“包含”该字符串的单词。例如,如果错误是“ wree”,则建议包含诸如“ wrackee”之类的内容,因为它们以“ W + R”开头。感谢您分享我在问题中忽略的内容。
Martin Marconcini 2010年

是的,糖:这是个好主意,总的来说是个很好的技巧(将其发布到键盘快捷方式社区Wiki线程!),但是这个问题的重点是纯键盘驱动的拼写检查/修复(无需手动箭头指向事实之后)。再次感谢您提供的一般小费。
杰森·萨拉兹

2

我刚刚查看了Apple的Keyboard Shortcuts Document键盘快捷键文档),但实际上并没有做任何有意义的事情。我选择了一些比较模糊的代码,并在TextEdit中对其进行了尝试,但无济于事。

虽然我不希望这是答案,但我目前的想法是使用Mouse Keys,尽管如此。通过Universal Access.prefpane激活快捷方式,然后按五下(五)Option ⌥,然后您应该可以通过以下任一方式调用窗口:

  • 持有(使用数字键盘)5(不使用数字键盘)i,或;
  • 按下(使用数字键盘)0(不使用数字键盘)m

上下文窗口应该会弹出,您可以根据需要选择正确的拼写/操作,然后在以相同的快捷方式禁用“鼠标键”之后继续...。(轻按(五)Option ⌥)。


+1 Vx。至少可以使用鼠标键(听起来很傻,是的):)
Martin Marconcini 2010年

2

打开Automator,创建一个不带任何应用程序输入的服务,然后添加一个“运行AppleScript”操作。复制并粘贴以下代码:

tell application "System Events"
    # locate frontmost application
    repeat with ap in application processes
        if frontmost of ap is true then
            set fmap to ap
        end if
    end repeat

    tell application process fmap
        # click its "Show/Hide Spelling and Grammar"
        set scw to windows of fmap whose name is "Spelling and Grammar" and role description is "floating window"
        try
            tell first menu bar of fmap
                tell first menu of (first menu bar item whose name is "Edit")
                    tell first menu of (first menu item whose name is "Spelling")
                        if (count of scw) = 0 then
                            tell (first menu item whose name is "Show Spelling and Grammar") to click
                        else
                            tell (first menu item whose name is "Hide Spelling and Grammar") to click
                            return
                        end if
                    end tell
                end tell
            end tell
        on error
            display alert "Cannot open/close Spelling and Grammar window!"
            return
        end try

        # focus the Spelling and Grammar field
        set fw to first window of fmap whose name is "Spelling and Grammar" and role description is "floating window"
        perform (first action of fw whose name is "AXRaise")
        set focused of first text field of fw to true
    end tell
end tell

另存为服务,然后在系统偏好设置»键盘»键盘快捷键»服务中分配键盘快捷。我进行了设置,以便在反复按下时切换窗口。当然,它取决于语言环境,并且期望语法菜单项位于通常的位置;如果失败则显示错误。

不幸的是,作为Automator,它有些慢。


有趣的是,我将与您联系,这不是最优雅的解决方案,但是鉴于目前还没有解决方案,可以选择它。
Martin Marconcini

我知道@Martín,但是显然缺乏更好的解决方案(Cmd-Backtick也忽略了拼写检查窗口)迫使我这样做。您可以将其简化为“将键盘焦点设置为拼写检查窗口”,它本质上是单线的,然后继续使用常规菜单项。通过使用FastScripts代替Automator来承载AppleScript,可能会进一步提高速度。
Daniel Beck

0

我曾经使用鼠标(具体来说是钢笔)。但是,我最近一直在使用Typinator,它已成功捕获了我的大多数错误。


感谢Typinator的提及。我已经有打字员多年了,但这并不是我想要的。它不是字典,而是文本替换工具(也是非常好的工具)。
Martin Marconcini 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.