在命令行的世界里,随着操作的深入,文本处理变得越来越复杂。本文将介绍一些简单的技巧,帮助更有效地使用命令行。
以下是快速参考图,文章的其余部分将详细介绍!
本文、示例和图表可以在 上找到。
假设有一个非常简单的命令,即将一个引用写入文本文件:
echo "The trouble with writing fiction is that it has to make sense, whereas real life doesn't. -- Iain M. Banks" >> quote.txt
如果只依赖箭头键在长文本行中导航,那将是一个缓慢的过程,所以花时间学习以下快捷键:
操作 | 快捷键 | 示例 |
---|---|---|
跳转到行首/行尾 | Ctrl + a / Ctrl + e | 快速定位到行的开始或结束 |
向后/向前移动一个单词 | Alt + b / Alt + f | 在单词之间快速跳转 |
删除一个单词/撤销 | Ctrl + w / Ctrl + - | 删除光标前的单词或撤销上一步操作 |
删除下一个单词 | Alt + d | 删除光标后的单词 |
删除到行首 | Ctrl + u | 删除从光标到行首的所有内容 |
删除到行尾 | Ctrl + k | 删除从光标到行尾的所有内容 |
另一个不可或缺的命令是'搜索历史'命令,通过 Ctrl + r 调出:
当输入时,命令历史会被搜索,最近的命令会首先出现。使用以下快捷键来完成操作:
操作 | 快捷键 | 示例 |
---|---|---|
找到下一个匹配项 | Ctrl + r | 继续搜索下一个匹配的命令 |
运行命令 | Enter | 执行找到的命令 |
编辑命令 | → | 编辑找到的命令 |
停止搜索 | Ctrl + g | 退出搜索模式 |
这些提示和技巧很有帮助,但如果正在处理一个非常长或复杂的命令,可能会发现直接跳转到最喜欢的编辑器中更有用。
使用 Ctrl + x, Ctrl + e 来原地编辑:
在后续的文章中,将更多地讨论如何配置默认编辑器。
使用最多的快捷键可能是 Ctrl + l,它可以清屏而不丢弃当前命令。这里是它的样子:
Ctrl + l
这将清除屏幕,但不会丢失当前的命令。
如果已经掌握了这里的所有命令,并且想要增加一些新的技巧,试试这个:
Alt + t快捷键会转置最后两个单词。使用 Ctrl + t 来转置最后两个字母:
Alt + t
这些是在为本文做研究时新学到的。不能想象自己能够比直接删除最后两个单词或字符然后重新输入更快地记住这些命令,但这就是它们!
如果想深入了解,那么可以在网上搜索 GNU Readline,这是许多 shell 背后处理命令行的库。实际上可以配置使用 readline 的所有 shell 的底层细节,使用 .inputrc 配置文件。
学习这些快捷键的好处是它们将在任何使用 GNU Readline 的提示符中工作。这意味着学到的所有内容都适用于:
所有这些快捷键对 Emacs 用户来说都应该很熟悉。实际上,readline 有一个 'Vi Mode' 选项,允许使用 vi 命令来处理文本。可以使用 set -o vi 进入这种模式,可能会在后续的文章中详细讨论这一点。
在 上有一个很棒的 emacs readline 命令备忘单,如果想要深入了解,这是一个非常有用的参考。对于本文,试图专注于认为最有用的命令(以及转置,这样就可以炫耀了!)。
希望这对有所帮助!GIF 是用 制作的。