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

VIM 查找文本

 
阅读更多

http://blog.csdn.net/hitustc/article/details/5585101

 

查找字符

命令f用于在本行内向前搜索。例如fx是向前(Forward)搜索字母x。而命令F是向后(Backward)搜索。例如Fx是向后搜索字母x。与f和F这两个相类似的是t和T命令。t命令类似于f向前搜索命令,所不同的是t搜索到时并不是将光标停在目标字符上,而是停在目标字符的前一个字符上。在搜索的过程中,我们可以使用ESC来退出搜索而开始新的工作。

对于以上四个查找命令,我们可以重复执行这些操作。命令;是按照前一次的查找方向继续查找,如果要向相反的方向查找可以使用,命令。但是这些查找只是在行本行内进行,并不会将光标移动到其它的行。

查找字符串

我们可以使用/string命令来向前(Forward)查找字符串string,按下回车后,光标就能跳到正确的地方。在这个命令中,/后的字符是我们想要查找的字符,而回车键则表明了命令的结束。

有时想要查找的内容并不仅在一处,我们可以在整个文章中进行查找:/可以继续刚才的查找操作。我们还可以使用n命令来继续刚才的查找命令。这两个命令都能达到同样的效果。

一般来说,在进行查找时总是在向前查找。我们也可以使用?命令向后(Backward)查找。N也是逆向查找命令,他可以实现立即反向查找。

如果我们想要停止这一查找,可以使用ctrl+C命令,如果是在Windows系统中,则要使用ctrl+Break命令。

vi具有记录查找命令历史的功能,这样就不用重复输入查找命令了。例如你刚才做过的三次查找分别是:/one,/two,/three。而现在输入/,然后按方向键的上或是下就看到刚才查找的内容显示在vi的下面,这时只要按下回车就会找到想要的内容了。

指定光标放置位置

在默认情况下,查找时Vim会将光标放在第一个匹配的结果的开始处。我们也可以指定查找结束后,光标所处的位置。对于向前查找的命令,我们可以在斜线后用数字来指明光标所处的位置,例如/set/2命 令会在查找结束后将光标放在第一个set字符串之后第二行的开始处。命令中的数字可以是正数也可以是负数。如果仅是一个简单的数字,光标会被放在第一个匹 配字符串之后或之前的数字所指定的行的开始处。正是向后,负数是向前。如果斜线后是b和数字,那么在查找结束后,光标将会放在第一个匹配字符串的开始处, 然后向左或是右移动n个字符,这里的n即为数字所指定的数。如果为正数则是向右移动,如果是负数,则是向左移动。例如/set/b2, 这个命令使光标在查找结束后放在第一个匹配字符的开始处,然后向右移动两个字符,也就是说最后光标会位于第一个匹配字符串中的t的位置。将b改为s也是一 样的效果。而参数e会使得光标放在第一个匹配字符串的结尾处。同样我们也可以用数字来指定向右还是向左移动光标以及移动的字符数。例如/set/e命令会使光标放在第一个匹配字符处的结尾处。如果命令改为/set/e2,会将光标放在第一个匹配字符串的结尾处,然后向右移动2个字符。这里的数字如果是正数则向右移,如果为负数则向左移。

命令/set/e+2是在查找set字符串结束后,将光标放在第一个匹配字符串的结尾处,然后向右移动两个字符。在这里我们将这个数字称为偏移量。如果要重复上一次的查找,但是需要不同的偏移量,可以用//5命令。不使用偏移量时,可以指明一个空的偏移量,如//命令。/命令,重复前一次的查找,使用相同的偏移量。

查找命令?也可以实现类似的功能。例如?set?b5命令,是将光标放在最后一个匹配字符串的开头部分,然后向右移动5个字符。??-2命令,则继续前一次的查找命令,但是使用新的偏移量。??命令,是继续前一次的查找命令,但是不使用偏移量。

立时查找字符串

如果我们想快速查找当前光标下的字符串,可以使用命令*,这个命令可以向前查找与当前光标下的字符精确匹配的字符串。而命令#,则向后查找与当前光标下的字符精确匹配的字符串。如果当前光标下的字符串为word,在执行*命令查找时并不会与Word相匹配。与这个立时查找命令相类似的就是g*命令。他不会进行严格的匹配。如果用这个命令来查找word,那么就有可能和Word相匹配。而g#命令与其相同,只不过他是向相反的方向进行查找匹配。

设置查找选项

我们可以选择高亮显示查找的文本,命令为::set hlsearch,关闭高亮显示的命令为::set nohlsearch。如果想关掉刚才高亮显示的结果,可以使用:nohlsearch命令。

使用:set incsearch命令,将打开匹配查找选项。在进行查找时就会显示出不断匹配的过程。例如你想查找的内容是include,在打开这个选项后,当你输入/i,光标定位在i上,再继续输入n光标定位在in上,如此直到查打到所要求的内容。关闭这个选项的命令为::set noincsearch

在默认的情况下,Vim是大小写敏感的。如果一个文件中有这样几个字符串:include,INCLUDE,Include。当我们使用命令/include来查找字符串时,只有include字符会被高亮显示。但是如果我们用:set ignorecase命令打开ignorecase选项后,所有的类似的字符都会被高亮显示。如果这样的查找结果并不是我们想要的,可以使用:set noignorecase命令关闭这个选项。

如果设置了ignorecase选项后,我们想要查找字符串word,而匹配的则可能是word、Word,WORD。如果我们要查找字符串WORD,匹配的结里也是一样的。但是如果设置了:set ignorecase:set smartcase两项后,执行结果就会变得不一样了:如果我们输入的是小写字符,那么就会匹配各种可能的组合,这时与设置了ignorecase的情况相同,但是如果我们在输入中有一个大写字符,那么这时就变成了精确查找,与设置了noignorecase的情况相同。

我们在执行查找命令时,也可以用修饰符来控制大小写敏感。在命令中加入修饰符/C将告诉Vim执行大小写敏感的查询,比如?/Cword命令就只匹配单词word。而在命令中加入修饰符/c则执行忽略大小写的查询。

在默认的情下,我们输入要查找的字符串,vim是从当前光标处向前查找,直到文件的结尾,如果没有找到,那么就会从文件的开头开始查找,直到光标所处的位置。我们可以通过:set nowrapscan命令,来禁止这种循环查找的方式,这样如果已经查找到文件的底部时,就会在底部显示出一条错误信息。如果我们想要回到正常的状态,可以使用:set wrapscan命令。

命令小结
f 向前搜索并将光标停留在目标字符上
F 向后搜索并将光标停留在目标字符上
; 重复刚才的查找
, 反向重复刚才的查找
t 向前搜索并将光标停留在目标字符的前一个字符上
T 向后搜索并将光标停留在目标字符的后一个字符上
/ 向前查找
? 向后查找
n 继续查找
N 反向查找
* 向前查找与当前光标下字符精确匹配的字符串
# 向后查找与当前光标下字符精确匹配的字符串
:set hlsearch 打开高亮显示查找的文本
:set nohlsearch 关闭高亮显示查找的文本
:nohlsearch 关闭当前高亮显示的结果
:set incsearch 打开显示查找匹配过程
:set noincsearch 关闭显示查找匹配过程
:set ignorecase 忽略大小写
:set noignorecase 精确匹配大小写
:set nowrapscan 禁止循环查找方式
:set wrapscan

启用循环查找方式

 

 

 

分享到:
评论

相关推荐

    vim8文本处理实验代码文件

    vim8的插件系统强大,通过安装插件如NERDTree(文件管理),fzf(快速查找文件),ALE(代码检查)等,可以扩展其功能,满足更多需求。 8. **语法高亮与自动补全** 通过设置语法文件,vim8可以对不同编程语言进行...

    Vim 8.2 PDF 中文参考手册(最新)

    ### Vim 8.2 中文参考手册核心知识点详解 #### 一、Vim 8.2 概述 - **版本信息**:本手册适用于 Vim 8.2 版本,发布日期为 2020 年 1 月 7 日,最近更新时间为 2019 年 12 月。 - **手册来源**:手册来源于 GitHub...

    Vim文本编辑器

    Vim文本编辑器,全称为“Vi Improved”,是一款强大的、高度可配置的文本编辑器,被誉为程序员和系统管理员的最佳工具之一。它起源于最初的Vi编辑器,由 Bram Moolenaar 在1991年基于Bill Joy的Vi开发,经过多年的...

    Vim实用技巧 文字版 完整全本 pdf

    Vim,全称Vi IMproved,是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。它在传统的Vi编辑器基础上进行了大量的改进和扩展,提供了丰富的功能和高度可定制性。《Vim实用技巧》这本书旨在帮助用户掌握Vim的...

    vim 常用快捷键笔记

    Vim 是一款功能强大的文本编辑器,广泛应用于各种操作系统之中,特别是 Linux 和 Unix 平台。它源自 vi 编辑器,但添加了许多增强功能,使得它更加高效且易于定制。本文将详细介绍 Vim 的常用快捷键,帮助用户快速...

    文本编辑器推荐:VIM

    - **插件系统**:VIM拥有丰富的插件库,如NERDTree(文件浏览器)、ALE(代码错误检查)、fzf(快速查找)等,可以极大地提升编辑体验和生产力。 - **配置文件**:`~/.vimrc`是VIM的配置文件,通过修改它可以定制...

    [最优秀的文本编辑器.Vim.(绿化版)].Vim

    作为一款高度可配置的编辑器,Vim深受程序员和系统管理员的喜爱,被誉为最优秀的文本编辑器之一。 1. **历史与特性** Vim起源于1976年的Vi(Visual Editor),由Bill Joy为Unix系统开发。Vim在Vi的基础上进行了...

    VIM文本编辑器相关命令

    实验名称:VIM 文本编辑器相关命令 实验目的: 通过这次实验,我们旨在熟悉VIM文本编辑器的基本操作,包括在命令模式下的移动、复制、剪切、删除以及撤销等操作,以及在插入模式和末行模式中的各种功能。此外,还将...

    linux文本编辑器(vim)1

    * `%s/查找文本/替换文本/`:区域性替换,例如 `1,10s/查找文本/替换文本/` 表示在第 1 行到第 10 行进行替换。 * `%s/查找文本/替换文本/g`:查找所有的替换。 * `%s/查找文本/替换文本/+10`:第十行到最后第十行...

    vim文本编辑器.doc

    3. **底线命令模式**:在命令模式下输入`:`, Vim会进入底线命令模式,这里可以执行保存、退出、查找替换等全局操作。例如,`w`保存文件,`q`退出编辑器,`wq`保存并退出,`q!`不保存强制退出。 下面以两个实例来...

    vim文本编辑器手册

    ### vim文本编辑器手册 #### 引言 `vim`(Vi IMproved)是一款功能强大的文本编辑器,基于原始 `vi` 编辑器进行了大量的改进与增强。它支持多种操作系统,并广泛应用于 Unix-like 系统及 Windows 系统中。本手册将...

    vim8.0中文手册

    1. Vim介绍:Vim是一个高度可定制的文本编辑器,它的官方名称为Vi IMproved(即Vi的改进版),最初由Bram Moolenaar编写。Vim作为Vi编辑器的扩展,拥有更多高级功能,例如语法高亮、可视模式和多窗口编辑等。 2. ...

    vim 文本编辑器使用命令

    vim 文本编辑器使用命令 Vim 文本编辑器是 Linux 中的一款功能强大且广泛使用的文本编辑器。它提供了多种模式,包括一般模式、编辑模式和指令模式,每种模式都有其特定的功能和操作方式。下面我们将对 Vim 文本...

    vim—ubuntu 使用详解

    `: 分别向后和向前查找文本。 - `n`, `N`: 在查找结果中跳转到下一个或上一个匹配项。 ### 文件操作 - `:ZZ`: 保存并退出。 - `:w`: 仅保存文件。 - `:q!`: 强制退出,不保存更改。 - `:e!`: 丢弃所有更改,返回...

    VIM 文本编辑器基本使用指南

    ### VIM 文本编辑器基本使用指南 #### 模式 VIM(Vi IMproved)是一种高度可配置且功能强大的文本编辑器,在 Linux 和其他 Unix 类操作系统中广泛使用。了解其工作模式对于高效使用至关重要。 - **普通模式**:这...

    简明 Vim 练级攻略

    - **文本操作**:介绍了更多文本操作命令,如查找文本(`/pattern`)、复制粘贴(`yy` 和 `P`)以及撤销重做(`u` 和 `<C-r>`)等。 - **文件管理**:涵盖了打开、保存、退出文件的操作,如 `:e<path/to/file>`...

    Vim实用技巧.pdf_vim实用_vim_

    5. **查找与替换**:`/`后输入要查找的文本进行查找,`n`和`N`分别用于向后和向前查找下一个匹配项。`:s/old/new/g`替换所有"old"为"new",`:%s/old/new/g`全局替换。 6. **撤销与重做**:`u`撤销上次操作,`Ctrl +...

    2.linux8.0-vim文本编辑器.pdf

    Vim(Vi Improved)是Linux环境中广泛使用的文本编辑器,它以其高效、灵活和强大的功能而闻名。本文将详细介绍Vim的基本操作,帮助初学者快速上手。 Vim编辑器有三个主要模式:命令行模式、输入模式和末行模式。 1...

Global site tag (gtag.js) - Google Analytics