2020年3月3日 星期二

vi行号使用

从内部讲,vi通过给编辑缓冲区的每一行编一个号来区分各行。如果想看这些行号,则可以打开number选项。所使用的命令是:

:set number

例如,假设您使用vi写一篇应用哲学论文。编辑缓冲区包含:
I have a little shadow that goes
in and out with me,
And what can be the use of him
is more than I can see

2020年3月1日 星期日

vi搜索模式

另一种在编辑缓冲区来回移动的方法就是跳转到包含某一特定模式的行上,这时需要使用/(斜线)和(问号)命令。

一旦按下了/键,vi就会在命令行上(屏幕的底部)显示一个/字符。然后就可以键入希望的模式并按<Return>键。这将告诉vi搜索该模式的下一匹配。如果希望再次搜索同一个模式,可以再次键入/并按<Return>键。

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>建切换到命令模式。