`
richiewu
  • 浏览: 35374 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Windows下使用VIM,搭建Mainframe开发环境(四)---文件查找

 
阅读更多

这次搬出两个超强的插件
Fuzzy Finder
Lookupfile

Fuzzy Finder:
它支持查找任意文件夹下的文件查找,具有多种模式.
比如查找文件夹,文件,最近使用的文件,最近使用的命令,缓冲区,书签,标签等.

Fuf


以下是Fuzzy Finder的推荐配置,从中可以看出所支持的查找模式:

let g:FuzzyFinderOptions = { 'Base':{}, 'Buffer':{}, 'File':{}, 'Dir':{}, 'MruFile':{},
/ 'MruCmd':{}, 'Bookmark':{}, 'Tag':{}, 'TaggedFile':{}}
let g:FuzzyFinderOptions.Base.ignore_case = 1
let g:FuzzyFinderOptions.Buffer.mode_available = 1
let g:FuzzyFinderOptions.File.mode_available = 1
let g:FuzzyFinderOptions.MruFile.mode_available = 1
let g:FuzzyFinderOptions.MruCmd.mode_available = 1
let g:FuzzyFinderOptions.Dir.mode_available = 1
let g:FuzzyFinderOptions.Tag.mode_available = 0
let g:FuzzyFinderOptions.TaggedFile.mode_available = 0
let g:FuzzyFinderOptions.MruFile.max_item = 200
let g:FuzzyFinderOptions.MruCmd.max_item = 200

对热键的映射:
nnoremap <silent> <leader>fb :FuzzyFinderBuffer<CR>
nnoremap <silent> <leader>ff :FuzzyFinderFile <C-r>=expand('%:~:.')[:-1-len(expand('%:~:.:t'))]<CR><CR>
nnoremap <silent> <leader>mf :FuzzyFinderMruFile<CR>
nnoremap <silent> <leader>mc :FuzzyFinderMruCmd<CR>
nnoremap <silent> <leader>fd :FuzzyFinderDir<CR>
nnoremap <silent> <leader>de :FuzzyFinderDir <C-r>=expand('%:p:~')[:-1-len(expand('%:p:~:t'))]<CR><CR>
nnoremap <silent> <leader>bm :FuzzyFinderBookmark<CR>
nnoremap <silent> <leader>ei :FuzzyFinderEditInfo<CR>
"nnoremap <silent> <leader>ft :FuzzyFinderTag!<CR>
"nnoremap <silent> <leader>te :FuzzyFinderTag! <C-r>=expand('<cword>')<CR><CR>
"nnoremap <silent> <leader>tf :FuzzyFinderTaggedFile<CR>

定义快速链接:
let g:FuzzyFinderOptions.Base.abbrev_map = {
/ "^VIM" : [
/ "D:/Cygwin/usr/share/Vim/",
/ ],
/ "^WORK" : [
/ "E:/Workstation/",
/ ],
/ }
在查找文件的模式中输入vim就可以直接查找D:/Cygwin/usr/share/Vim/下面的文件,是不是很方便呢.

还包括其他模式: 最近使用的文件/最近使用的命令/查找缓冲区

Lookupfile:
配置:
let g:LookupFile_MinPatLength = 3 "Last words number to find
let g:LookupFile_PreserveLastPattern = 0 "Don't save last pattern
let g:LookupFile_PreservePatternHistory = 0 "Save history
let g:LookupFile_AlwaysAcceptFirst = 1 "Enter to open 1st one
let g:LookupFile_TagExpr = '"e://Workstation//vim//vim72//src//filenametags"'

对于各项配置,不清楚可以直接查看帮助文档.
以上分别是至少输入3个字符才开始查找,不保存上次输入的模式,不保存历史记录,回车键接受第一个菜单项.
最后一个是定义的文件索引所在位置.
Lookupfile需要有文件索引才能正常工作,建立好索引后,直接输入文件名称,即可弹出下来菜单选择所查找的文件,而不必输入完整或相对目录.
这对于查找一个工程中有大量文件时很有用,可以快速定位并打开文件.
Lookupfile默认映射F5为快捷键用于切换打开和关闭查找窗口.

如果使用自动弹出完成菜单的插件autocomplpop,会和Lookupfile有冲突,以致不能弹出完成菜单.
可以修改Lookupfile,打开之前禁用autocomplpop,选择文件后启用autocomplpop.
plugin/LookupFile.vim:
nmap <unique> <silent> <F5> :AutoComplPopDisable<CR><Plug>LookupFile
autoload/lookupfile.vim: exec "AutoComplPopEnable"

使用效果(这个插件已经用Neocomplcache代替):

auto pop

建立索引可以用脚本完成:
#!/bin/sh
echo -e "!_TAG_FILE_SORTED/t2/t/2=foldcase/" > filenametags
find -type f -printf "%f/t%p/t1/n" | sort -f >> filenametags

Lookupfile用二分法查找排序后的索引,有助提升速度.更多可以参考这里 .

分享到:
评论

相关推荐

    VMware-VIMSetup-all-5.5.0-1312299

    - **定义**: VMware vCenter Infrastructure Manager (VIM) 是一款由VMware公司开发的管理工具,主要用于监控和管理虚拟化环境中的资源使用情况。 - **功能**: VIM支持实时监控、性能管理和资源优化等功能,帮助...

    windows 下搭建 Objective-C 开发环境

    ### 在Windows下搭建Objective-C开发环境 随着移动应用开发的普及,越来越多的开发者开始尝试不同的编程语言和技术栈。尽管Objective-C主要与Apple的平台(如iOS和macOS)相关联,但有时候,出于某些原因(比如团队...

    VMware-VIM-all-6.5.0-14020092.txt

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

    vimconfig-2012-06-13

    `CtrlP`是一个文件查找和缓冲区浏览工具,能快速打开项目中的文件;`Syntastic`则是一个语法检查插件,实时显示代码错误。 除此之外,配置可能还包括了颜色方案,如`Solarized`或`Monokai`,它们提供美观的代码背景...

    windows下的使用vim

    下面我们将详细探讨Windows环境下使用Vim的相关知识点。 1. **安装GVim** - 下载:GVim的Windows安装包通常以.exe结尾,如"gvim73.exe"。你可以从Vim的官方网站或其他可信源下载最新版本。 - 安装过程:运行下载...

    VMware-VIM-all-6.7.0-15976714.txt

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

    vim8.0.zip --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_4.x86_64.rpm ncurses-libs-5.9-14....

    Linux下由VIM搭建C/C++开发环境介绍

    Linux 下由 VIM 搭建 C/C++ 开发环境介绍 Linux 作为一个开源的操作系统,广泛应用于服务器、嵌入式系统、移动设备等领域,而 C/C++ 作为最基础的编程语言,广泛应用于操作系统、应用程序、嵌入式系统等领域。为了...

    VIM,Django的web开发环境部署

    本文将深入探讨如何使用VIM作为开发工具,配合Django搭建一个高效的Web开发环境,并进行项目部署。 首先,让我们了解一下VIM。VIM是一款高度可配置的文本编辑器,具有丰富的插件系统,可以满足开发者在编写代码时的...

    windows-use-vim-ctags-and-git

    但是有时候又需要使用到windows下面的一些应用,所以开始折腾怎么在windows下使用vim+ctags+git,下面是我整理的记录。 windows使用vim,好多人推荐安装vim工具,但是我用了一下随着windows版本的升级,比如win8,...

    VMware-VIM-all-6.7.0-9451876.txt

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

    VMware-VIMSetup-all-5.1.0-880471.iso 下载地址

    VMware vSphere 5.1 是一款强大的云计算基础架构平台,它由多个组件构成,包括vCenter Server、ESXi ...通过下载"VMware-VIMSetup-all-5.1.0-880471.iso"这个ISO文件,用户可以安装和体验这个强大的虚拟化平台。

    vim插件基础配置,vim-plug

    除了安装和卸载插件,vim-plug还提供了其他实用功能,如清理不再使用的插件文件(`:PlugClean`)、更新所有插件(`:PlugUpdate`)等。熟悉这些命令,可以更好地管理和维护你的Vim环境。 总之,vim-plug作为Vim的...

    vim jeffy插件和配置

    linux下用vim编辑器配合jeffy插件实现比较顺手的编程环境。Jeffy插件和配置文件(.vim):代码高亮 自动提示等。 vim版本必须大于7.1。 1,备份下vim配置文件(可选) 2,解压jeffy-vim.zip 和里面的jeffy-vim-read.tar...

    vim配置C/C++开发环境.zip

    本文将详细讲解如何配置Vim为C/C++的开发环境,使其具备类似IDE的功能,如函数补全、小括号补全等。 首先,我们需要了解Vim的基本操作,它是一个命令行下的文本编辑器,可以通过键盘快捷键进行高效的文本处理。在...

    Windows快捷键与Vim快捷键冲突解决

    然而,在不同的操作系统下,Vim的默认快捷键可能会与系统自带的快捷键产生冲突,尤其是在Windows环境下。本文将探讨Windows版本的Vim与Windows系统快捷键之间的冲突问题,并提供解决方案。 #### 冲突现象 在Linux...

    VIM配置文件----存放于VIM目录下

    存放在VIM目录下,主要编辑了VIM的字体颜色和默认的背景颜色

    vim user manual ---vim用户手册

    - **文件浏览器**: 使用内置的文件浏览器来查找文件。 - **当前目录**: 在当前目录中查找文件。 - **查找一个文件**: 在整个文件系统中搜索文件。 - **缓冲区列表**: 查看已打开文件的缓冲区列表。 #### 三、编辑...

    vim-ide.tar.bz2

    Ubuntu 64位免安装版VIM-IDE。 压缩包为直接打包/etc/vim配置及插件包。 root@ubuntu:/etc/vim# tree -L 2 . bundle ale auto-pairs echofunc gdbmgr indentLine LeaderF nerdcommenter nerdtree nerdtree...

    服务器和数据中心虚拟化及桌面虚拟化VMware-VIMSetup-all-已更新包含电驴地址

    - 包含Linux环境下使用的vSphere Tools,适用于5.1版本。 - **[服务器和数据中心虚拟化及桌面虚拟化].VMware-vCenter-Server-Appliance-5.1.0.5100-799730_OVF10.ova** - 包含vCenter Server Appliance 5.1的完整...

Global site tag (gtag.js) - Google Analytics