ed 文本编辑器使用笔记

昨晚抽风一般地想要学学 ed 究竟应该怎么用,于是花了十多分钟学习了一下基础用法,可以保证在紧急情况下“存活”。稍微整理一下自己学到的用法:

调用

ed [file]

一般使用

如果是创建新文件的话,进入程序后除了光标什么都不会显示;如果是打开已有文件,那么会显示一行文件大小的字节数,然后光标到下一行等待用户输入。
ed 是基于行的文本编辑器,也就是说同时只能显示或编辑文件的某一行。和 Vi 类似,存在两种模式:输入模式和命令模式。默认打开文件后进入命令模式。
既然是基于行的编辑器,那么 ed 有一个“当前行”的概念,可以使用 n 查看之,会打印出当前所在行号。默认打开文件后自动跳转至文件末尾(也就是最后一行)。
在命令模式下输入编辑器不认识的命令,会回显一个问号 ? 表示输入错误。

文字输入

切换至输入模式的命令如下:

  • a,在当前行的下一行开始插入文字;
  • i,在当前行的上一行开始插入文字;
  • c,抹除当前行的所有文字,重新输入。

注意 c 命令的危险性。
切换至输入模式后,就请随意地打字吧,回车也会忠实地写入文件。缺点是没有办法修改回车符以前的输错的文字。如果想修改,必须退出当前的输入模式再尝试修改。
补充说明,如果你想要删除文字,可以在定位到某行之后,配合使用 c 与 . 来达到删除所在行的目的。
如果想退出输入模式,在新行输入 . 即可。就是英文句点。

导航

以下导航命令当然是在命令模式下。

  • 直接输入行号并回车,跳转到对应行,并回显对应行的文字(不带行号)。
  • 输入回车,会跳转到下一行,并回显对应行的文字(不带行号)。
  • 输入 . ,会重复显示当前行的文字(不带行号)。
  • 输入 n,会回显当前行的文字(带行号)。

保存与退出

在编辑已有文件的时候,输入 w 可以进行保存,回显新文件的字节大小。
在编辑新文件时,需要在 w 后接上文件名。回显相同。
q 可以退出编辑器。在没有保存文件的时候,则必须用 Q 强制退出。当然 ctrl+c 是没有用的。