bash 中的 set-mark 是什么?我应该期望它如何表现?

bash 中的 set-mark 是什么?我应该期望它如何表现?

它只是提到了一个快捷方式,它的用法应该是显而易见的,但对我来说并不明显。我怎么知道我“标记”了某些东西?我为什么要标记一些东西?这东西有范围吗?它会过期吗?我会在何时/何地收到 bash 警告吗?最重要的是,很酷,我“设置了标记”。现在怎么办?

那么,我可以设置的这个标记到底是什么以及我将用它做什么呢?

答案1

严格来说,set-mark它不是 bash 命令,而是 readline 命令。它用于在当前编辑的命令行中的特定位置设置“标记”。

该标记随后可用于其他读取行编辑操作。

默认情况下可能不会安装 readline 的完整文档。根据您的发行版,它可能位于一个单独的包中,名称类似于readline-docGNU Info 文件格式(需要使用infopinfo来查看)。它也可以在网上找到https://tiswww.case.edu/php/chet/readline/rltop.html

它也记录在 bash 手册页以及其他几个使用 readline 的 GNU 程序的手册页中。运行man bash并搜索^READLINE.

man bash

Readline 命令名称

以下是命令名称及其绑定的默认键序列的列表。默认情况下,没有附带键序列的命令名称是未绑定的。在下面的描述中,观点指当前光标位置,并且 标记set-mark命令保存的光标位置。之间的文字观点标记被称为 地区

请注意,readline 命令既可用于交互式使用(即在编辑命令行时),也可用于编程使用(例如在您的 中~/.inputrc)。这就是为什么某些命令具有选项/参数的原因。

顺便说一句,没有多少 readline 命令可以使用分数或者地区(这观点被许多 readline 命令频繁使用)。他们是:

两个具有默认键绑定:

设定标记(C-@、M-<空格>)

设置标记观点。如果提供数字参数,则标记被设置到该位置。

交换点和标记(CxCx)

交换观点标记。当前光标位置设置为保存位置,旧光标位置保存为标记

Ctrl-@因此,您可以使用或标记当前光标位置,Meta-<space>并通过键入两次来交换当前光标位置的标记Ctrl-x。即对于在队列中的两个位置之间来回跳跃很有用。

另外两个没有默认键绑定:

杀伤区

杀死当前文本地区

复制区域作为终止

复制文本中的内容地区到终止缓冲区。

要在命令行上进行交互式编辑时使用其中任何一个,您必须将它们绑定到一个键。

相关内容