我出了名的容易拼错单词（特别是在播客当中）。谢天谢地 Emacs 内置了一个名为 flyspell 的超棒模式来帮助像我这样的可怜的打字员。flyspell 会在你输入时突出显示拼错的单词 (也就是实时的) 并提供有用的快捷键来快速修复该错误。大多输入通常会对派生自 text-mode（比如 markdown-mode，adoc-mode ）的主模式启用 flyspell，但是它对程序员也有所帮助，可以指出他在注释中的错误。所需要的只是启用 flyspell-prog-mode。我通常在所有的编程模式中（至少在 prog-mode 派生的模式中）都启用它：(add-hook 'prog-mode-hook #'flyspell-prog-mode)现在当你在注释中输入错误时，就会得到即时反馈了。要修复单词只需要将光标置于单词后，然后按下 C-c $ （M-x flyspell-correct-word-before-point）。（还有许多其他方法可以用 flyspell 来纠正拼写错误的单词，但为了简单起见，我们暂时忽略它们。）今天的分享就到这里！我要继续修正这些讨厌的拼写错误了！via: https://emacsredux.com/blog/2019/05/24/spell-checking-comments/作者：Bozhidar Batsov 选题：lujun9972 译者：lujun9972 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
无论你是纠结一个难以理解的单词，还是在将报告发给老板之前再检查一遍，Linux 都可以帮助你解决拼写问题。Linux 为数据分析和自动化提供了各种工具，它也帮助我们解决了一个一直都在纠结的问题 —— 拼写！无论在写每周报告时努力拼出一个单词，还是在提交商业计划书之前想要借助计算机的“眼睛”来找出你的拼写错误。现在我们来看一下它是如何帮助你的。looklook 是其中一款工具。如果你知道一个单词的开头，你就可以用这个命令来获取以这些字母开头的单词列表。除非提供了替代词源，否则 look 将使用 /usr/share/dict/words 中的内容来为你标识单词。这个文件有数十万个单词，可以满足我们日常使用的大多数英语单词的需要，但是它可能不包含我们计算机领域中的一些人倾向于使用的更加生僻的单词，如 zettabyte。look 命令的语法非常简单。输入 look word ，它将遍历单词文件中的所有单词并找到匹配项。$ look amelio ameliorable ameliorableness ameliorant ameliorate ameliorated ameliorates ameliorating amelioration ameliorations ameliorativ ameliorative amelioratively ameliorator amelioratory如果你遇到系统中单词列表中未包含的单词，将无法获得任何输出。$ look zetta $如果你没有看到你所希望出现的单词，也不要绝望。你可以在你的单词文件中添加单词，甚至引用一个完全不同的单词列表，在网上找一个或者干脆自己创建一个。你甚至不必将添加的单词放在按字母顺序排列的正确位置；只需将其添加到文件的末尾即可。但是，你必须以 root 用户身份执行此操作。例如（要注意 >>！）：# echo “zettabyte” >> /usr/share/dict/words当使用不同的单词列表时，例如这个例子中的 “jargon” ，你只需要添加文件的名称。如果不采用默认文件时，请使用完整路径。$ look nybble /usr/share/dict/jargon nybble nybbleslook 命令大小写不敏感，因此你不必关心要查找的单词是否应该大写。$ look zet ZETA Zeta zeta zetacism Zetana zetas Zetes zetetic Zethar Zethus Zetland Zetta当然，不是所有的单词列表都是一样的。一些 Linux 发行版在单词文件中提供了多得多的内容。你的文件中可能有十万或者更多倍的单词。在我的一个 Linux 系统中：$ wc -l /usr/share/dict/words 102402 /usr/share/dict/words在另一个系统中：$ wc -l /usr/share/dict/words 479828 /usr/share/dict/words请记住，look 命令只适用于通过单词开头查找，但如果你不想从单词的开头查找，还可以使用其他选项。grep我们深爱的 grep 命令像其他工具一样可以从一个单词文件中选出单词。如果你正在找以某些字母开头或结尾的单词，使用 grep 命令是自然而然的事情。它可以通过单词的开头、结尾或中间部分来匹配单词。系统中的单词文件可以像使用 look 命令时在 grep 命令中轻松使用。不过唯一的缺点是你需要指定文件，这一点与 look 不尽相同。在单词的开头前加上 ^：$ grep ^terra /usr/share/dict/words terrace terrace's terraced terraces terracing terrain terrain's terrains terrapin terrapin's terrapins terraria terrarium terrarium's terrariums在单词的结尾后加上 $：$ grep bytes$ /usr/share/dict/words bytes gigabytes kilobytes megabytes terabytes使用 grep 时，你需要考虑大小写，不过 grep 命令也提供了一些选项。$ grep ^[Zz]et /usr/share/dict/words Zeta zeta zetacism Zetana zetas Zetes zetetic Zethar Zethus Zetland Zetta zettabyte为单词文件添加软连接能使这种搜索方式更加便捷：$ ln -s /usr/share/dict/words words $ grep ^[Zz]et words Zeta zeta zetacism Zetana zetas Zetes zetetic Zethar Zethus Zetland Zetta zettabytyeaspellaspell 命令提供了一种不同的方式。它提供了一种方法来检查你提供给它的任何文件或文本的拼写。你可以通过管道将文本传递给它，然后它会告诉你哪些单词看起来有拼写错误。如果所有单词都拼写正确，则不会有任何输出。$ echo Did I mispell that? | aspell list mispell $ echo I can hardly wait to try out aspell | aspell list aspell $ echo Did I misspell anything? | aspell list $list 参数告诉 aspell 为标准输入单词提供拼写错误的单词列表。你还可以使用 aspell 来定位和更正文本文件中的单词。如果它发现一个拼写错误的单词，它将为你提供一个相似（但拼写正确的）单词列表来替换这个单词，你也可以将该单词加入个人词库（~/.aspell.en.pws）并忽略拼写错误，或者完全中止进程（使文件保持处理前的状态）。$ aspell -c mytext一旦 aspell 发现一个单词出现了拼写错误，它将会为不正确的 “mispell” 提供一个选项列表：1) mi spell 6) misplay 2) mi-spell 7) spell 3) misspell 8) misapply 4) Ispell 9) Aspell 5) misspells 0) dispel i) Ignore I) Ignore all r) Replace R) Replace all a) Add l) Add Lower b) Abort x) Exit请注意，备选单词和拼写是数字编号的，而其他选项是由字母选项表示的。你可以选择备选拼写中的一项或者自己输入替换项。“Abort” 选项将使文件保持不变，即使你已经为某些单词选择了替换。你选择添加的单词将被插入到本地单词文件中（例如 ~/.aspell.en.pws）。其他单词列表厌倦了英语？ aspell 命令可以在其他语言中使用，只要你添加了相关语言的单词列表。例如，在 Debian 系统中添加法语的词库，你可以这样做：$ sudo apt install aspell-fr这个新的词库文件会被安装为 /usr/share/dict/French。为了使用它，你只需要简单地告诉 aspell 你想要使用替换的单词列表：$ aspell --lang=fr -c mytext这种情况下，当 aspell 读到单词 “one” 时，你可能会看到下面的情况：1) once 6) orné 2) onde 7) ne 3) ondé 8) né 4) onze 9) on 5) orne 0) cône i) Ignore I) Ignore all r) Replace R) Replace all a) Add l) Add Lower b) Abort x) Exit你也可以从 GNU 官网获取其他语言的词库。总结即使你是全国拼字比赛的冠军，你可能偶尔也会需要一点拼写方面的帮助，哪怕只是为了找出你手滑打错的单词。aspell 工具，加上 look 和 grep 命令已经准备来助你一臂之力了。via: https://www.networkworld.com/article/3400942/how-linux-can-help-with-your-spelling.html作者：Sandra Henry-Stocker 选题：lujun9972 译者：Modrisco 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
Ispell 可以帮助你在纯文本中消除超过 50 种语言的拼写错误。好的拼写是一种技巧。它是一项需要时间学习和掌握的技能。也就是说，有些人从来没有完全掌握这种技能，我知道有两三个出色的作家就无法完全掌握拼写。即使你拼写得很好，偶尔也会输入错字。特别是在最后期限前如果你快速敲击键盘，那就更是如此。无论你的拼写的是什么，通过拼写检查器检查你所写的内容总是一个好主意。我用纯文本完成了我的大部分写作，并经常使用名为 Aspell 的命令行拼写检查器来完成这项工作。Aspell 不是唯一的工具。你可能还想要看下不错的 Ispell。入门自 1971 年以来，Ispell 就以各种形式出现过。不要被它的年龄欺骗。Ispell 仍然是一个可以在 21 世纪高效使用的应用。在开始之前，请打开终端窗口并输入 which ispell 来检查计算机上是否安装了 Ispell。如果未安装，请打开发行版的软件包管理器并从那里安装 Ispell。不要忘记为你使用的语言安装词典。我唯一使用的语言是英语，所以我只需下载美国和英国英语字典。你可以不局限于我的（也是唯一的）母语。Ispell 有超过 50 种语言的词典。使用 Ispell如果你还没有猜到，Ispell 只能用在文本文件。这包括用 HTML、LaTeX 和 nroff 或 troff 标记的文档。之后会有更多相关内容。要开始使用，请打开终端窗口并进入包含要运行拼写检查的文件的目录。输入 ispell 后跟文件名，然后按回车键。Ispell 高亮了它无法识别的第一个词。如果单词拼写错误，Ispell 通常会提供一个或多个备选方案。按下 R，然后按下正确选择旁边的数字。在上面的截图中，我按了 R 和 0 来修复错误。另一方面，如果单词拼写正确，请按下 A 然后移动到下一个拼写错误的单词。继续这样做直到到达文件的末尾。Ispell 会保存你的更改，创建你刚检查的文件的备份（扩展名为 .bak），然后关闭。其他几个选项此示例说明了 Ispell 的基本用法。这个程序有很多选项，有些你可能会用到，而另一些你可能永远不会使用。让我们快速看下我经常使用的一些。之前我提到过 Ispell 可以用于某些标记语言。你需要告诉它文件的格式。启动 Ispell 时，为 TeX 或 LaTeX 文件添加 -t，为 HTML 文件添加 -H，对于 groff 或 troff 文件添加 -n。例如，如果输入 ispell -t myReport.tex，Ispell 将忽略所有标记。如果你不想在检查文件后创建备份文件，请将 -x 添加到命令行。例如，ispell -x myFile.txt。如果 Ispell 遇到拼写正确但不在其字典中的单词，比如名字，会发生什么？你可以按 I 将该单词添加到个人单词列表中。这会将单词保存到 /home 目录下的 .ispell_default 的文件中。这些是我在使用 Ispell 时最有用的选项，但请查看 Ispell 的手册页以了解其所有选项。Ispell 比 Aspell 或其他命令行拼写检查器更好或者更快么？我会说它不比其他的差或者慢。Ispell 不是适合所有人。它也许也不适合你。但有更多选择也不错，不是么？via: https://opensource.com/article/19/5/spelling-command-line-ispell作者：Scott Nesbitt 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
你有没有感到需要一款Linux下的命令行工具，它可以验证你的拼写？一款可以显示包含特定前缀字符串的行？好的，本篇中，我们会讨论Linux下的 look命令，它满足了上面的这些要求。Linux下的look命令下面是来自look命令man页面描述的截图：测试环境OS – Ubuntu 13.04Shell – Bash 4.2.45Application – look 2.20.1-5.1ubuntu8简要教程现在让我们通过一些特定例子来讨论这个命令。假设你要验证单词'rendezvous'的拼写。你可以轻松地用look命令做到。这是个例子 :$ look rendez rendezvous rendezvous's rendezvoused rendezvouses rendezvousing 如你所见，我只传入了单词的前面几个字符作为命令行参数，命令产生了所有的相关单词。这些单词通过look命令从文件 /usr/share/dict/words取回。另外一种情况是需要打印所有包含特定字符串的行。比如，如果我想要显示c文件中所有的头文件，那么我就用下面的方法：$ look "#include" efence_test.c #include #include 如你所见，它生成了所有的在文件efence\_test.c中以"#include"开始的行，因此我知道了原文件中包含的头文件。默认上，所有look命令的匹配都是大小写敏感的。你可以使用非大小写敏感匹配的选项-f。下面是一些look命令提供了其他一些命令行选项：想要获取这个命令的更多信息，阅读这个 man 页.下载/安装/配置下面是关于look命令的一些链接：主页 [如果你知道这个工具的主页的话让我知道一下]下载链接look命令成了util-linux包的一部分，它在大多数Linux发行版中已经预安装了。优点非常容易地在命令行验证拼写。在大多数Linux发行版中已经预安装。缺点依赖于/usr/share/dict/words 来做拼写验证。总结一款出色的用来验证拼写的命令行工具。节省了大量时间如果你想要显示以特定字符串为开头的行的话。试一下，你一定会喜欢上它的。via: http://mylinuxbook.com/look-verify-spellings-and-display-lines/译者：geekpi 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出