2020年2月27日 星期四

vi跳转到前一位置和标记位置

1. vi跳转到前一位置
有很多时候,当把光标移动了一段距离之后,发现又希望将其移动回去。有时候,这种移动是有意的。例如,您可能跳转到编辑缓冲区的末尾,添加一行,然后又希望返回到原来那一行。这种也有可能是无意间发生的,例如,当发现错误时,已经离错误好长一段时间了。

在编辑缓冲区移动——向上、下移动一屏

无论什么时候,vi都会尽可能地将编辑缓冲区的内容铺满屏幕。当处理的文件包含大量文本时,一次只能看到一部分文件。例如,如果终端窗口只有25行,vi只能每次显示24行(vi不在屏幕的最底部一行显示文本,这一行用于显示命令行)。当希望查看另一部分文件时,需要将光标移动到编辑缓冲区的对应位置上。完成这种移动的光标命令有好几种。

2020年2月26日 星期三

vi移动光标命令

我们来具体学习一下 vi种移动光标的命令,首先需要一个文本文件来练习编辑。

vi 创建新文件

vi创建新文件的命令如下:

cp etc/passwd/ temp

man vi > temp

第一条命令是通过复制系统的口令文件创建一个小文件。第二条命令是通过复制vi的说明书页创建一个大文件。

2020年2月25日 星期二

学习vi命令的策略

vi 编辑器拥有众多的命令。为了方便起见,我们可以按如下方式对这些命令进行分类:

  • 移动光标的命令
  • 进入输入模式的命令
  • 进行修改的命令
您的目标就是在每一组命令中学习足够多的命令,从而能够随时归纳出执行任何编辑任务所需的策略。下面举一个例子,示范上面所说的意思。在您工作时,光标显示您在编辑缓冲区的当前位置。为了在缓冲区插入新的数据,需要采用如下策略:

(1) 确保处于命令模式中

(2) 将光标移动到希望插入数据的位置。

(3) 切换到输入模式

(4) 按<Esc>键切回命令模式

一旦学会了基本的vi命令,您就会发现实现任何特定的策略都有许多种方式。选择哪一种方式取决于特定的场合以及您的技能水平。
您可能对vi提供如此之多的命令感到神奇。例如,进入输入模式有12种不同的命令;在命令模式中,有40种不同的命令移动光标。

可以想象,没有人需要知道12种进入模式或者40种移动光标的方式。但是,希望您学习尽可能多的命令,因为——不管您相信还是不相信——这会使vi更易于使用。

例如,假设您希望从屏幕的左上角移动到屏幕中间离右边缘几个单词的地方。您可以每次一个位置的移动光标,但是这种方法很慢,而且比较笨拙。如果您知道40种移动光标的命令,则可以从中选取最适用的,也许只需按三、四个键就可以立即移动到希望的准确位置上去。

2020年2月21日 星期五

如何停止vi

vi 的停止方式有两种。大多数时候,用户都希望保存完工作后退出vi。但是,由于不小心而搞乱了数据,则可能希望不保存数据而退出程序,以保持文件的原始内容不变。不管是哪一种情况,都必须在命令模式输入一条退出命令。如果位于输入模式中,则必须首先按<Esc>建切换到命令模式。

vi中系统失败后数据的恢复

在编辑文件的过程中,有时可能会遇到系统关机,或者失去了与系统的连接等系统失败的情况。如果是这样,那么vi通常可以将数据恢复出来。

如何以只读方式启动vi

有时候需要vi查看一个重要文件,但又不希望改变这个文件,这时候就需要已只读方式启动vi。有两种方法可以实现这一目的。第一种方法,可以使用-R(Read-only,只读)选项启动vi程序。这将告诉vi,您不希望将数据保存回原始文件(这个选项使用于vi和Vim)。第二种方法,可以使用view命令启动该程序。