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

Best of VIM Tips(译注) - 连载4 查找(c)

阅读更多

[翻译]

" finding empty lines 查找空行

/^\n\{3} : find 3 empty lines

查找 3 行空行

[注解]

:help /\n

这个正则表达式匹配三个连续的空行,也就是在行首位置有3个连续的换行符。

其中“\n”匹配换行符。

[翻译]

" using rexexp memory in a search

" 在查找中使用正则表达式存储

/\(fred\).*\(joe\).*\2.*\1

[注解]

:help /\1

:help /\2

在这个正则式中,“\1”代表与第一个“\( \)”间的子式的相同的字符串,“\2”为第2个,“\3”为第3个,以此类推,一直到“\9”。

所以对这个例子来说,它等同于“fred.*joe.*joe.*fred”。

但是,正则表达式“\([abc]\{3}\).*\1”却并不等同于“[abc]\{3}.*[abc]\{3}”。

因为“\1”代表第一个“\( \)”所匹配的内容,如果第一个“\( \)”匹配了“abc”,那么“\1”就代表“abc”;如果第一个“\( \)”匹配了“abb”,那么“\1”就代表“abb”。

显然正则式“[abc]\{3}.*[abc]\{3}”并不是这个含义。

[翻译]

" Repeating the Regexp (rather than what the Regexp finds)

" 重复正则表达式(不管这个正则表达式查找什么)

/^\([^,]*,\)\{8}

[注解]

这个正则式是把“\( \)”间的元素重复8次,即相当于查找“^([^,]*,([^,]*,([^,]*,([^,]*,([^,]*,([^,]*,([^,]*,([^,]*,”。

其中“([^,]*,”表示任意个非“,”的字符,后面紧跟着一个“,”。

[翻译]

"visual searching

" 可视模式下的查找

:vmap // y/<C-R>"<CR> : search for visually highlighted text

查找被高亮显示的文本

:vmap <silent> // y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR> : with spec chars

高亮文本包含特殊字符

[注解]

:help v

这两个键映射用于在可视模式下查找被高亮显示的文本,如果高亮文本中包含特殊字符,需要使用第两种格式的键映射。

(使用二者任一)映射后,当你使用vV选中一段文本后,再按“//”就可以查找这段文本。

以第二个映射为例进行讲解:

:help vmap

vmap 定义一个virsual的键映射

:help map-<silent>

<silent> 执行此映射时不回显

:help y

y 拷贝选中的内容到无名寄存器

/ 开始搜索

:help c_CTRL-R_=

<C-R>= 搜索的内容来源于一个表达式的结果

:help escape()

escape() 把参数1中所包含的特殊字符(由参数2指定)前加转义符\

:help registers

:help expr-register

@" 代表无名寄存器中的内容

'\\/.*$^~[]' 些特殊字符进行转义

:help key-notation

<CR> 回车

[参考文档]

1. http://www.rayninfo.co.uk/vimtips.html

2. http://groups.google.com/group/Vim-cn/msg/f72fba0645955101?

3. VIM帮助文件

4. http://vimcdoc.sourceforge.net/

[尾记]

本文可以自由应用于非商业用途。转载请注明出处。

原文链接:http://blog.csdn.net/easwy

分享到:
评论

相关推荐

    VMware-VIM-all-6.7.0-15976714.txt

    VMware-VIM-all-6.7.0-15976714 原版镜像 .................................................................................................................

    VMware-VIM-all-6.5.0-14020092.txt

    vmware vcenter6.5 for windows版本。 VMware-VIM-all-6.5.0-14020092

    vim键盘图(vi-vim-cheat-sheet)

    vim键盘图 . 键盘布局彩图(打出来参考,很方便) vi-vim-cheat-sheet.gif vi-vim-tutorial-1.gif vi-vim-tutorial-2.gif...vi-vim-tutorial-4.gif vi-vim-tutorial-5.gif vi-vim-tutorial-6.gif vi-vim-tutorial-7.gif

    vim-common-7.4.629-7.el7.x86_64.rpm

    vim-common-7.4.629-7.el7.x86_64.rpm

    vim-powerline-develop

    **vim-powerline-develop** 是一个针对 Vim 编辑器的扩展插件,它属于 Vim 插件中的 **powerline** 家族。Powerline 是一个非常流行的增强型状态栏插件,它为 Vim、Emacs 和其他软件提供了一个美观、信息丰富的状态...

    vim-tmux-focus-events, 使终端vim和tmux更好地协同工作.zip

    vim-tmux-focus-events, 使终端vim和tmux更好地协同工作 tmux-focus-events.vimFocusGained 和 FocusLost 自动命令事件在终端vim中不工作。 这个插件在使用vim内部Tmux时恢复它们。以下是相关内容:vim fugitive插件...

    VMware-VIM-all-6.7.0-9451876.txt

    VMware vSphere 6.7 百度网盘链接及提取 码

    Atom-atom-vim-mode-plus,vim.zip

    Atom-atom-vim-mode-plus是针对Atom文本编辑器的一个扩展插件,主要目的是增强其内置的VIM编辑模式。VIM(Vi Improved)是一种高度可配置的文本编辑器,以其高效的操作方式和丰富的命令集而闻名。在Atom中,VIM模式...

    vim-for-server, .vimrc, 简单配置服务器,不带插件.zip

    vim-for-server, .vimrc, 简单配置服务器,不带插件 vim-for-servervimrc,简单配置服务器,不带插件。简介这个存储库是 k-vim的简化版本。只删除所有插件,保留基本配置。屏幕截图 安装 。 如果有必要,备份旧的. ...

    Best+of+VIM+Tips(译注).pdf

    以上就是对文件《Best+of+VIM+Tips(译注).pdf》中的VIM编辑器相关知识点的总结。VIM提供的这些替换命令和操作技巧可以大幅提高文本处理的效率,是学习VIM编辑器时需要掌握的重要内容。在实际使用中,合理运用这些...

    VMware-VIMSetup-all-5.5.0-1312299

    根据提供的文件信息,我们可以推断出这份资料与VMware vCenter Infrastructure Manager (VIM) Setup 5.5.0版本有关。尽管描述部分没有提供太多技术细节,但从标题和其他信息中,我们可以提炼出一系列与VMware ...

    vim-enhanced-7.4.629-8.el7_9.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    vim-atom-dark, 一个由 Atom 黑暗主题默认启发的vim主题.zip

    vim-atom-dark, 一个由 Atom 黑暗主题默认启发的vim主题 vim-atom-dark一个由 Atom 黑暗主题默认启发的vim主题。 在 .vim 文件夹中克隆这个文件或者将 colors/atom-dark.vim 文件放在 colors/ 中。

    vim8.0.zip --Linux-CentOS7离线安装VIM及相关依赖包

    Linux-CentOS7离线安装VIM及相关依赖包 vim-8.0.zip gpm-libs-1.20.7-6.el7.i686.rpm ncurses-5.9-14.20130511.el7_4.x86_64.rpm ncurses-base-5.9-14.20130511.el7_4.noarch.rpm ncurses-devel-5.9-14.20130511.el7...

    vim-minimal-8.0.1763-16.el8.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    vim-markdown-toc, 用于生成 Markdown 文件目录的vim 7.4 插件.zip

    vim-markdown-toc, 用于生成 Markdown 文件目录的vim 7.4 插件 vim-markdown-toc用于生成 Markdown 文件目录的vim 7.4 插件。中文版使用指南目录特性安装工具使用情况生成内容目录。更新现有目录删除目录选项屏幕...

    vim-minimal-7.4.160-5.el7.x86_64.rpm

    离线安装包,亲测可用

    vim-airline-themes:vim-航空公司的主题集合

    vim-航空公司主题 这是的官方主题库 安装 该插件遵循标准的运行时路径结构,因此可以与各种插件管理器一起安装: 插件管理器 安装... git clone https://github.com/vim-airline/vim-airline-themes ~/.vim/bundle...

    vim7.4版本rpm

    vim-common-7.4.629-8.el7_9.x86_64.rpm vim-enhanced-7.4.629-8.el7_9.x86_64.rpm vim-filesystem-7.4.629-8.el7_9.x86_64.rpm vim-minimal-7.4.160-5.el7.x86_64.rpm

Global site tag (gtag.js) - Google Analytics