`
mylxiaoyi
  • 浏览: 327588 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vi编辑器的学习使用(十二)

阅读更多
我们在用Vim来处理文件时可以使用Vim的自动完成功能来大大加速我们的工作速度.所谓的自动完成也就是说当我们输入一个单词的一部分以后,按CTRL-P,Vim就会自动的来完成剩下的部分.我们在前面的学习过程中曾用:abbreviate命令来简记某一个单词来达到自动完成的目的,而在这里我们将看到是一个更加强大的自动完成功能.Vim能非常简单和灵活的来决定要用哪一个单词来自动完成. 我们在使用Vim这个强大的自动完成功能的同时,还可以自已定义我们的自动完成的特征,而且还可以使用不同类型的自动完成功能.
如果我们在编写C程序,而我们所谓得到的下面的一个句子:
total=ch_array[0]+ch_array[1]+ch_array[2]
这时我们输入total=ch_array[0]+ch_,然后按下CTRL-P,Vim就会自动的替我们完成其余的部分,这时我们得到将是
total=ch_array[0]+ch_array
由此可以看到我们在处理文件时用这样的方式可以大大的加快我们的处理速度.
那么Vim是如何找到匹配的单词的呢?在默认的情况下,Vim在查找一个单词时是按照如下的步骤:
1 在当前文件中进行查找
2 在其他窗口中进行查找
3 在其他的已装入的缓冲区中进行查找
4 在没有装入缓冲区的文件中进行查找
5 在当前的标记(tag)列表是进行查找
6 在所有的由当前文件的#include包含进来的文件中进行查找
当然了我们也可以自定义我们的查找顺序.
我们在使用自动完成功能时的命令CTRL-P是向后查找匹配的单词,而还有一个命令CTRL-N是向前查找匹配的单词.他们有同样的功能和作用,所不同的只是查找方向上的不同.
Vim还提供了许多的命令可以使得我们来自定义我们的一些查找上的特征.例如我们可以用下面的命令来告诉Vim在在自动完成的查找过程中忽略大小写的区别:
:set ignorecase
这样以后如果我们输入ins,Vim就会认为是INSERT,Inside或者是instep.当然了前提是在我们所编辑的文本中含有这些词,要不就会找得到了.
为了能够精确的进行查找来自动完成,我们并不希望上面的情况出现,我们可以设置一些选项来告诉Vim区分大小写的情况.这时我们要用到下面的命令:
:set infercase
这样以后如果我们再输入ins,与其相匹配的列表就成为了instep,inside,insert.我们可以通过按CTRL-P或是CTRL-N来进行匹配完成.
在大多数情况下,Vim默认的设置可以很好的来完成工作,但是有时我们要定义自己的一些完成的选项,这时我们就要用到complete这个选项了.这个选项的格式如下:
:set complete=key,key,key
而这个命令中可能出现的key值如下:
.    当前文件
b    已被装缓冲区,但是没有在窗口内的文件
d    在当前的文件中定义和由#include包含进来的文件
i    由#include包含进来的文件
k    由dictionary选项定义的文件
kfile    名为{file}的文件
t    标记(tags)文件
u    没有载入的缓冲区
w    在其他窗口中的文件
我们可以使用path选项来告诉Vim如何来查找我们在当前文件中所包含进来的文件.我们还可以指定一个字典,这个选项的格式如下:
:set dictionary=file,file,....
这个选项定义了由命令CTRL-P和CTRL-N进行匹配查找时所要查找的文件.在Linux系统中这个定义文件在/usr/dict/words中,所以如果我们要将这个文件添加进来进行查找的话,我们就要用到下面的命令:
:set dictionary=/usr/dict/words
如果我们要使用一个我们自己的文件也可以这样的来设置
:set dictionary=/home/oualline/words,/usr/doc/words
我们也可以指定一个字典文件和k选项组合使用:
:set dictionary=k/usr/oualline/words
我们也可以多次的使用k这个标记选项:
:set dictionary=k/usr/dict/words,k/usr/share/words
在上面提到的CTRL-P和CTRL-N进行查找匹配时查找的范围比较的宽范,我们当然也可以使用命令进行一些比较严格的查找.这时我们可以使用命令CTRL-X.当我们输入CTRL-X时我们会进入CTRL-X的一个子模式.这时我们可以使用下面的命令进行查找:
CTRL-D    宏定义
CTRL-F    文件名
CTRL-K    字典
CTRL-I    当前文件以及由#include包含进来的文件
CTRL-L    整个行
CTRL-]    标记(tags)
CTRL-P    向前查找,与没有CTRL-X命令时相同
CTRL-N    向后查找,与没有CTRL-X命令时相同
CTRL-X
CTRL-D命令查找宏定义.他也会查找#include文件.当我们执行完这个命令以后就可以使用CTRL-P,CTRL-N来进行匹配查找.
例如我们可以编辑下面的测试文件:
include.h文件中的内容
#define MAX(x,y) ((x)<(y)?(y):(x))
#define MIN(x,y) ((x)<(y)?(x):(y))
int sum(int i1,int i2)
{return (i1+i2);}
main.c文件中的内容:
#include "include.h"
#define MORE "/usr/ucb/more"
这时我们开始编辑main.c文件,如果我们按下CTRL-X我们就会进入CTRL-X的子模式.如果我们要查找一个宏定义,我们可以按下CTRL-D,这时就会在屏幕的底部简单的显示出有多少匹配的选项.这样我们就可以用CTRL-P和CTRL-N来进行自动完成的功能了.而命令CTRL-X CTRL-]则是查找下一个标记(tag),标记是一个C函数的定义.我们可以用命令ctags命令来生成一个C函数定义的列表.我们可以这样的来使用这个命令:
$ctags *.c *.h
这样以后我们就可以在插入模式入下用CTRL-X CTRL-]命令来进行标记的查找和匹配了.
在默认的情况下,vim编辑器只是简单的显示出标记的名字,我们可以执行下面的命令,这样以后就可以显示出整个标记了:
:set showfulltag
我们可以使用CTRL-X CTRL-F命令来匹配文件名.他会在当前的目录下查找文件并会显示出匹配的内容,这时你就可以用CTRL-P和CTRL-N命令来选择你想要的匹配选项了.
到目前为止我们所说还只是对单词进行操作,我们可以用命令CTRL-X CTRL-L对一行进行匹配操作,同样的我们也可以用CTRL-N和CTRL-P来进行选项的匹配.我们还可以在输入CTRL-X命令后用CTRL-Y向下滚动文本,而用CTRL-E向上滚动文本.

分享到:
评论

相关推荐

    linux实验报告vi编辑器的使用.pdf

    学习使用Vi编辑器建立、编辑、显示及加工处理文本,并了解Vi编辑器在Linux系统中的重要性。 二、实验内容 1. 进入和退出Vi 2. 利用文本插入方式建立一个文件 3. 在新建的文本文件上移动光标位置 4. 对文件执行删除...

    学习使用vi编辑器

    "学习使用 vi 编辑器" 在 Linux 操作系统中,vi 编辑器是一个功能强大且广泛使用的文本编辑器。学习使用 vi 编辑器可以提高用户的工作效率和编程能力。下面是学习使用 vi 编辑器的一些知识点: 实验目的 * 练习 ...

    vi编辑器的使用

    vi编辑器的学习曲线可能较陡峭,但一旦掌握,就能大大提高文本编辑效率,尤其是在系统管理和服务器维护等场景下,它的强大功能和高效操作将为你带来极大的便利。尽管现代有许多图形化编辑器,但vi作为基础工具,对于...

    vi编辑器的使用(一)笔记

    ### vi编辑器的使用(一)笔记 #### 一、vi编辑器的三种模式及其切换命令 vi编辑器是Linux中最基本也是最强大...通过以上内容的学习,相信您已经掌握了vi编辑器的基本操作技巧,这对于后续更深入的学习是非常有益的。

    Linux下vi编辑器的使用

    Linux下的vi编辑器是一款强大的文本编辑工具,它具备丰富的文本操作功能,允许用户根据个人需求进行定制。vi编辑器的特点在于它不包含图形界面菜单,而是通过命令模式进行操作,分为命令模式、插入模式和末行模式三...

    《Vi 编辑器》pdf版

    通过这本书,读者可以深入学习vi编辑器,掌握文本编辑的高效技巧,无论是进行日志分析、系统配置还是代码编写,vi编辑器都能提供强大而灵活的文本处理能力。而对于Linux公社(***)提供的信息,尽管它在书中被重复...

    linux操作系统实验vi编辑器的使用.pdf

    ### Linux操作系统实验vi编辑器的使用 #### 实验目的 本次实验旨在使学习者能够熟练地运用Linux系统中的vi编辑器进行文本编辑工作。通过实际操作掌握以下技能: 1. **掌握Linux系统的vi编辑器的基本操作**:了解vi...

    Vi编辑器的设置

    对于初学者来说,理解并熟练使用`.vimrc`文件是一个重要的里程碑,它标志着你对Vi编辑器的使用进入了一个新的层次。不断探索和优化你的配置,你会发现Vi不仅是一个工具,更是一种高效的工作方式。

    学习vi和vim编辑器_第7版_中文+英文_PDF

    《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ·...

    unix vi 编辑器完全使用手册

    本文是针对初学Unix Vi编辑器的网友的,而文后所付的详尽的命令表也可作为已经熟练使用vi的网友的参考之用, 因此你最好下载本文或打印本文然后对照实践学习。 编辑器是使用计算机的重要工具之一,在各种操作系统...

    linux下vi编辑器命令大全.docx

    但是,用户需要花一些时间来学习和熟悉 vi 编辑器的命令和模式,以便更好地使用 vi 编辑器。 知识点: 1. vi 编辑器是一种功能强大的屏幕编辑器,提供了一个视窗设备,通过它可以编辑文件。 2. vi 编辑器有三个...

    VI编辑器的使用

    ### VI编辑器的使用知识点详解 #### 一、VI编辑器简介及启动与退出 **VI编辑器** 是一种在Unix及其衍生系统中广泛使用的文本编辑器,它以功能强大著称,尤其受到Linux用户的喜爱。尽管现代有许多图形界面的编辑器...

    windows下vi编辑器

    总的来说,"WinVi32.exe"为Windows用户提供了在熟悉的环境中使用VI编辑器的可能性,使得跨平台开发变得更加便捷。对于习惯于VI编辑器的开发者来说,无论是在Linux还是Windows系统下,都能保持一致的工作流程,提高...

    VI编辑器使用说明(PDF日文版)-1

    尽管Emacs编辑器在某些方面表现更佳,但VI编辑器仍然是一个值得学习和使用的强大工具。对于初学者而言,了解VI编辑器的基础操作是非常有用的,尤其是在进行配置文件编辑和其他需要快速响应的任务时。

Global site tag (gtag.js) - Google Analytics