在 GNU ed 中,有没有办法取消当前输入?例如:
$ ed myfile.txt
1234
a
Wrong speling.
Bad sentance.
此时,我想取消输入。我不再想插入我输入的两行。可能吗?我想像这样继续:
.
u
使用“撤消”是取消输入的常用方法吗?还有其他方法吗?
在 GNU ed 中,有没有办法取消当前输入?例如:
$ ed myfile.txt
1234
a
Wrong speling.
Bad sentance.
此时,我想取消输入。我不再想插入我输入的两行。可能吗?我想像这样继续:
.
u
使用“撤消”是取消输入的常用方法吗?还有其他方法吗?
您不能“取消”输入,例如“开始附加几行文本但实际上并未附加它们”。
在使用例如
a
命令添加文本时,可以通过在按之前按两次来取消单行文本。这样做也会终止当前的编辑命令。您不能以这种方式取消添加超过当前行的内容。根据您的系统和变体,在插入模式下按两次可能会或可能不会给您一个新行来键入下一个命令(在 OpenBSD 上会,在 Ubuntu Linux 上不会)。Ctrl+DEntered
Ctrl+Ded
如果您使用withrlwrap
来获取命令历史记录和 Readline 编辑功能,上述“技巧”(未记录的功能)将不起作用。完成后您可以撤消整个操作,就像您展示的那样。您以单独的一行结束文本的插入,
.
然后发出u
(撤消)命令。您也可以Ctrl+D在新行上结束文本插入,然后使用该u
命令。编辑器
ed
具有单级撤消,这意味着您只能撤消最近的命令。撤消两次撤消撤消。如果您使用单个g
、v
、G
或V
命令将多个命令应用于文本,则这将被视为一个命令,您可以在需要时撤消该命令。