昨晚抽风一般地想要学学 ed 究竟应该怎么用,于是花了十多分钟学习了一下基础用法,可以保证在紧急情况下“存活”。稍微整理一下自己学到的用法:
调用
ed [file]
一般使用
如果是创建新文件的话,进入程序后除了光标什么都不会显示;如果是打开已有文件,那么会显示一行文件大小的字节数,然后光标到下一行等待用户输入。
ed 是基于行的文本编辑器,也就是说同时只能显示或编辑文件的某一行。和 Vi 类似,存在两种模式:输入模式和命令模式。默认打开文件后进入命令模式。
既然是基于行的编辑器,那么 ed 有一个“当前行”的概念,可以使用 n 查看之,会打印出当前所在行号。默认打开文件后自动跳转至文件末尾(也就是最后一行)。
在命令模式下输入编辑器不认识的命令,会回显一个问号 ? 表示输入错误。
文字输入
切换至输入模式的命令如下:
- a,在当前行的下一行开始插入文字;
- i,在当前行的上一行开始插入文字;
- c,抹除当前行的所有文字,重新输入。
注意 c 命令的危险性。
切换至输入模式后,就请随意地打字吧,回车也会忠实地写入文件。缺点是没有办法修改回车符以前的输错的文字。如果想修改,必须退出当前的输入模式再尝试修改。
补充说明,如果你想要删除文字,可以在定位到某行之后,配合使用 c 与 . 来达到删除所在行的目的。
如果想退出输入模式,在新行输入 . 即可。就是英文句点。
导航
以下导航命令当然是在命令模式下。
- 直接输入行号并回车,跳转到对应行,并回显对应行的文字(不带行号)。
- 输入回车,会跳转到下一行,并回显对应行的文字(不带行号)。
- 输入 . ,会重复显示当前行的文字(不带行号)。
- 输入 n,会回显当前行的文字(带行号)。
保存与退出
在编辑已有文件的时候,输入 w 可以进行保存,回显新文件的字节大小。
在编辑新文件时,需要在 w 后接上文件名。回显相同。
按 q 可以退出编辑器。在没有保存文件的时候,则必须用 Q 强制退出。当然 ctrl+c 是没有用的。