argle Asked: 2018-02-12 08:59:11 +0800 CST2018-02-12 08:59:11 +0800 CST 2018-02-12 08:59:11 +0800 CST 什么是 bash 中的设置标记,我应该如何期望它的行为? 772 它只是提到了一个快捷方式,它的用法应该很明显,但对我来说并不明显。我什至如何告诉我“标记”了某些东西?我为什么要标记一些东西?这东西有范围吗?它会过期吗?我是否会在何时/何地收到 bash 警告?最重要的是,很酷,我“设置标记”。现在怎么办? 那么,我可以设置的这个标记到底是什么,我会用它做什么? bash clipboard 1 个回答 Voted Best Answer cas 2018-02-12T14:19:24+08:002018-02-12T14:19:24+08:00 严格来说,set-mark不是 bash 命令,而是 readline 命令。它用于在您当前正在编辑的命令行中的特定位置设置“标记”。 然后,该标记可用于其他 readline 编辑操作。 默认情况下可能不会安装 readline 的完整文档。根据您的发行版,它可能位于一个单独的包中,名称类似于readline-doc,采用 GNU 信息文件格式(需要,例如,info或pinfo查看)。它也可以在网站https://tiswww.case.edu/php/chet/readline/rltop.html上找到 它也记录在 bash 手册页和其他几个使用 readline 的 GNU 程序的手册页中。运行man bash并搜索^READLINE. 来自man bash: 读取命令名称 以下是命令名称和它们绑定的默认键序列的列表。默认情况下,没有附带键序列的命令名称是未绑定的。在下面的描述中,point是指当前光标位置, mark是指set-mark命令保存的光标位置。点和标记之间的文本称为 区域。 请注意,readline 命令既可用于交互使用(即在编辑命令行时),也可用于编程使用(例如在您的~/.inputrc. 这就是为什么某些命令具有选项/参数的原因。 顺便说一句,没有多少 readline 命令可以使用标记或区域(该点经常被许多 readline 命令使用)。他们是: 两个具有默认键绑定: 设置标记(C-@, M-<空格>) 设置标记点。_ 如果提供了数字参数,则将标记设置到该位置。 交换点和标记(Cx Cx) 用标记交换点。当前光标位置设置为保存位置,旧光标位置保存为标记。 因此,您可以用Ctrl-@or标记当前光标位置,并通过键入两次Meta-<space>来将标记交换为当前光标位置。Ctrl-x即对于在行中的两个位置之间来回跳跃很有用。 和两个没有默认键绑定: 杀戮区域 杀死当前区域中的文本。 复制区域作为杀戮 将该区域中的文本复制到终止缓冲区。 要在命令行上交互式编辑时使用其中任何一个,您必须将它们绑定到一个键。
严格来说,
set-mark
不是 bash 命令,而是 readline 命令。它用于在您当前正在编辑的命令行中的特定位置设置“标记”。然后,该标记可用于其他 readline 编辑操作。
默认情况下可能不会安装 readline 的完整文档。根据您的发行版,它可能位于一个单独的包中,名称类似于
readline-doc
,采用 GNU 信息文件格式(需要,例如,info
或pinfo
查看)。它也可以在网站https://tiswww.case.edu/php/chet/readline/rltop.html上找到它也记录在 bash 手册页和其他几个使用 readline 的 GNU 程序的手册页中。运行
man bash
并搜索^READLINE
.来自
man bash
:请注意,readline 命令既可用于交互使用(即在编辑命令行时),也可用于编程使用(例如在您的
~/.inputrc
. 这就是为什么某些命令具有选项/参数的原因。顺便说一句,没有多少 readline 命令可以使用标记或区域(该点经常被许多 readline 命令使用)。他们是:
两个具有默认键绑定:
因此,您可以用
Ctrl-@
or标记当前光标位置,并通过键入两次Meta-<space>
来将标记交换为当前光标位置。Ctrl-x
即对于在行中的两个位置之间来回跳跃很有用。和两个没有默认键绑定:
要在命令行上交互式编辑时使用其中任何一个,您必须将它们绑定到一个键。