LFCS 系列第二讲:如何安装和使用纯文本编辑器(3)

b) 在整个文件内查找。使用 / 命令,紧接着需要查找的单词或短语。这个查找可以通过使用 n 命令或者 N 重复查找上一个查找的字符串。以下是在命令模式键入 /Jane 的查找结果。

在 vi 中查找字符

在 vi 中查找字符

c) vi 通过使用命令来完成多行或者整个文件的替换操作(类似于 sed)。我们可以使用以下命令,使得整个文件中的单词 “old” 替换为 “young”。

:%s/old/young/g

注意:冒号位于命令的最前面。

vi 的查找和替换

vi 的查找和替换

冒号 (:) 进入末行模式,在本例中 s 表示替换,% 是从第一行到最后一行的表示方式(也可以使用 nm 表示范围,即第 n 行到第 m 行),old 是查找模式,young 是用来替换的文本,g 表示在每个查找出来的字符串都进行替换。

另外,在命令最后增加一个 c,可以在每一个匹配项替换前进行确认。

:%s/old/young/gc

将旧文本替换为新文本前,vi/vim 会向我们显示以下信息:

vi 中替换字符串

vi 中替换字符串

y: 执行替换(yes)

n: 跳过这个匹配字符的替换并转到下一个(no)

a: 在当前匹配字符及后边的相同项全部执行替换

q 或 Esc: 取消替换

l (小写 L): 执行本次替换并退出

Ctrl-e, Ctrl-y: 下翻页,上翻页,查看相应的文本来进行替换

同时编辑多个文件

我们在命令提示符输入 vim file1 file2 file3 如下:

#vim file1 file2 file3

vim 会首先打开 file1,要跳到 file2 需用 :n 命令。当需要打开前一个文件时,:N 就可以了。

为了从 file1 跳到 file3

a) :buffers 命令会显示当前正在编辑的文件列表

:buffers

编辑多个文件

编辑多个文件

b) :buffer 3 命令(后边没有 s)会打开第三个文件 file3 进行编辑。

在上边的图片中,标记符号 # 表示该文件当前已被打开,但是是在后台,而 %a 标记的文件是正在被编辑的。另外,文件号(如上边例子的 3)后边的空格表示该文件还没有被打开。

vi 的临时缓存区

为了复制连续的多行(比如,假设为 4 行)到一个名为 a 的临时缓存区(与文件无关),并且还要将这些行粘贴到在当前 vi 会话文件中的其它位置,我们需要:

按下 Esc 键以确认 vi 处在命令模式

将光标放在我们希望复制的第一行文本

输入 a4yy 复制当前行和接下来的 3 行,进入一个名为 a 的缓存区。我们可以继续编辑我们的文件————我们不需要立即插入刚刚复制的行。

当到了需要使用刚刚复制的那些行的位置,在 p(小写)或 P(大写)命令前使用a来将复制行插入到名为 a 的 缓存区:

输入 ap,复制行将插入到光标位置所在行的下一行。

输入 aP,复制行将插入到光标位置所在行的上一行。

如果愿意,我们可以重复上述步骤,将缓存区 a 中的内容插入到我们文件的多个位置。像本节中这样的一个临时缓存区,会在当前窗口关闭时释放掉。

总结

像我们看到的一样,vi/vim 在命令接口下是一个强大而灵活的文本编辑器。通过以下链接,随时分享你自己的技巧和评论。

更多Vim相关教程见以下内容

把VIM打造成一个简单实用的IDE

Vim学习指南

快速学会 Vi编辑器

Vim的基本使用方法 

强大的Vim 编辑器

CentOS 6.2上搭建Vim开发环境

CentOS 5.4 安装高亮Vim编辑工具

Vim技巧分享:C语言设置

Ubuntu中设置Vim的行号

Vim编辑器使用基础教程

参考链接

via:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15392.html