据我所知,ed
以命令模式启动。一旦我输入i
、a
或c
,ed
就会更改为输入模式。到目前为止它有效。现在我读到,为了从输入模式切换到命令模式,必须输入,
和Enter。我尝试这样做,但它不起作用,我停留在输入模式,不得不退出程序,没有Ctrl+Z机会将缓冲区中的文本写入硬盘。
我正在使用 Linux Mint 和 Xfce 终端,如何切换到命令模式?
答案1
在其自己的一行上输入一个点。
答案2
i
使用、a
或c
in时结束插入文本的普通方法ed
是在一行上单独写一个点。这是退出输入模式的记录方法。
macOS 上的手册ed
如下:
当给出输入命令,例如
a
(追加)、i
(插入)或(更改)时,进入输入模式。这是向文件添加文本的主要方法。在此模式下,没有可用的命令;相反,标准输入直接写入编辑器缓冲区。行由文本组成,直到并包括换行符。c
ed
.
输入模式通过在一行中输入单个句点 ( ) 来终止。
当接受文本时
ed
,据说处于输入模式。在此模式下,不识别任何命令;所有输入仅被收集。输入模式通过输入由两个字符组成的行来终止:a<period>
(.
) 后跟 a<newline>
。该行不被视为输入文本的一部分。
您也可以使用Ctrl+C退出输入模式。如果在Enter按提交当前文本行之前完成此操作,则当前文本行将丢失。
请注意,它Ctrl+Z不会终止ed
,而是将其挂起,置于当前 shell 会话的后台。您可以通过fg
在 shell 中使用(或者作业的作业编号在fg %jobnum
哪里,如内置实用程序所报告的那样)返回到编辑会话。jobnum
ed
jobs