顯示具有 Linux&Unix 標籤的文章。 顯示所有文章
顯示具有 Linux&Unix 標籤的文章。 顯示所有文章

2020年3月28日 星期六

设置与关闭vi自动换行命令

在键入文档时,需要将文本分成行。下面我们就介绍设置与关闭vi自动换行命令。

1.设置vi自动换行命令
一种方式就是在每行的末尾按<Return>键。按<Return>键生成一个新行字符,标记一行的结束。这对于处理少量的文本比较适用,但是如果处理时,需要大量的键入,让vi自动换行更加方便。为此需要设置wrapmargin(wm)选项。其语法为:

:set wrapmargin=n
其中n是右边缘算起希望开始换行的位置。为了方便起见,可以使用缩写wm取代全称。

查看vi全部选项的最佳方法

vi显示一个或多个选项的值,可以使用:set命令的一种变体。其语法为:

:set [option[?]… | all]
其中,option是选项的名称。

为了显示所有选项的值,可以使用:

:set all
使用这条命令是查看vi所支持的全部选项的最佳方法。vi显示一个选项的值,可以键入该选项的名称,后面跟一个(问号)。例如:

vi设置选项命令


和大多数复杂的Unix程序一样,vi支持很多选项,从而允许用户控制vi操作的各个方面。当启动vi时,每个选项都被赋予了一个默认值。如果希望改变vi行为的一个特定方面,则可以使用:set命令设置合适选项的值。vi设置选项命令命令的语法有两种形式,因为选项本身就有两种不同类型:
:set [no]option…

:set [no][=value]

其中option是选项的名称,value是选项的值。

2020年3月24日 星期二

vi改变字母的大小写

vi编辑器拥有一个特殊的命令,可以将字母又小写字母变成大写字母,或者从大写字母变成小写字母。该命令就是(波浪号)。只需将光标移动到希望改变的字母上。并键入:


2020年3月12日 星期四

vi复制文本命令

从一个位置向另一个位置复制文本包括3步。第一步,使用yyyY命令将文本由编辑缓冲区域复制到无名缓冲区中,单不删除原始文本。第二步,将光标移动到希望插入文本的位置。第三步,使用p或者P命令执行插入。下面详细介绍一下vi复制文本命令。

当在不删除文本的情况下将文本复制到无名缓冲区中,我们称接出(yank)了文本(因此将命令命名为yyyY)。yyy命令的工作方式与ddd命令的工作方式相同,只是yyy命令接出文本,而d和dd命令删除文本,下面示范几个例子:

2020年3月11日 星期三

vi移动文本命令

vi编辑器拥有一项特殊的功能,即将文本从一个位置移动或者复制到另一个位置,这就是vi移动文本命令。

vi总是在一个称为无名缓冲区(unnamed buffer)的存储区中为上一次删除保存一份副本。在任何时候,都是可以使用p和P(put,放入)命令将无名缓冲区的内容复制到编辑缓冲区(这块存储区被称为无名缓冲区的原因在于还有一些其它有名称的类似存储区)。

2020年3月10日 星期二

vi怎么恢复删除

每当删除一行或者多行文本是,vi都将删除内容保存在一个特殊的存储区中,这个存储区为编号缓冲区(numbered buffer)。vi中共有9个这样的缓冲区,编号从1至9。在任何时候,都可以将一个编号缓冲区的内容插入到编辑缓冲区中。这样做时,需要键入一个“(双引号),后面跟着缓冲区的编号,再后跟一个p或者P(put,放入)命令(提醒:当处理行时,p命令在当前行的下面插入,P命令在当前行的上面插入)。

2020年3月8日 星期日

vi撤销或重复改变命令

一旦开始进行替换和删除,能够撤销改变就变得十分重要,所以要掌握vi撤销或重复改变命令。例如,假设您希望将单词“advertisement”的所有匹配项都改变为 “ad”。您决定输入:

:%s/advertisement/ad/g
但是,您不小心键入错误,忘记了键入第二个“d”:

2020年3月7日 星期六

vi 删除文本命令

从编辑缓冲删除文本的方法有若干种,您既可以使用vi命令,也可以使用ex命令。vi的命令如下所示:

x 删除当前光标处的字符

X 删除光标左边的字符

D 删除从当前光标到本行末尾的字符

dmove 删除从当前光标到move所给位置的字符

dd 删除当前行

2020年3月5日 星期四

vi替换字符串命令s

当使用vi时,既可以使用vi(面向屏幕)命令,也可以选用较古老的ex(面向行)命令。到目前为止,我们讨论的大多数命令都是vi命令。下面我们将讨论ex命令。

所有的ex命令都以一个:(冒号)字符开头。每当在命令的开头键入一个冒号时,vi将在命令行(屏幕的底部)立即显示它。在键入命令的其它部分时,命令将回显在这一行上(这就是称这一行为命令行的原因) 。可以看出,ex命令要比vi命令长,而且更复杂。基于这一原因,在,在键入命令的过程中,vi将回显命令,从而使你看到自己正在做什么。vi命令中仅有的复杂长命令就是搜索命令(/和?),也由于这一原因,这两个命令也在命令行上显示。

2020年3月4日 星期三

vi修改文本

如何修改编辑缓冲区已有的数据?首先,我们讨论7条vi命令,,除了一种情况外,其它情况都需要切换到输入模式。下面先从这个不需要切换到输入模式的命令入手。

为了用一个字符切换到另一个单独的字符,可以键入r,后面跟着新字符。例如,假设您正向教授写信,解释无法按时完成学期论文的原因。您现在位于命令模式中,而当前行是:

2020年3月3日 星期二

vi插入文本

为了在编辑缓冲区中插入文本,必须键入命令从命令模式切换到输入模式。当结束文本插入之后,还要按<Esc>键离开输入模式返回命令模式(记住:挡在命令模式中按<Esc>键时,vi会发出嘀嘀声。如果不确定处于哪一种模式中,可以按<Esc>键两次。当听见嘀嘀声时,就意味着处于命令模式中了)。

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

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

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