`
252190908
  • 浏览: 230108 次
文章分类
社区版块
存档分类
最新评论

使用vim的find命令快速打开文件

 
阅读更多

在sublime中,我们可以使用 Ctrl + P 呼出输入框,直接输入文件名就可以快速打开工程内的相应文件,非常方便。vim中也能实现同样的功能。网上大多数教程都是说用 lookupfile + ctag 插件来实现文件查找,配置起来比麻烦。其实使用vim自带的find命令也能完成所需功能。


find 会从 path 中搜索文件。所以在使用find之前一定要配置一下path变量(不是PATH环境变量)。例如有如下工程目录:

|--blog

|--WEB-INF

|--lib

|--classes

|--page

|--index.html

|--login.xhtml

|--src

|--main.java


我们在 blog/ 目录下打开vim, 执行:

set path=.,page/,src/

然后当我们想要打开main.java时,只需要输入:

find main.java 或
find m[TAB]

即可快速打开main.java。

有人会问,如果我的代码文件放的目录很深,且很分散,那岂不是要设置大量的path才行?其实不用。如果嫌费事,直接这样写path也可:

set path=./**

其中 ** 表示递归搜索当前目录下的所有子目录,即目录有多深就查多深。这样配置起来比较方便,但有一个很不方便的地方是, ** 不支持自动补全。也就是说我们必须输入文件的全名才能正确打开该文件。所以个人建议不要使用 **,第一次用的时候花些时间把path配置好,然后执行

mksession!

保存一个会话,下次再打开时执行

vim -S Session

即可恢复上次打开时的状态。关于find命令的更多用法,请执行

help find
help file-searching

查阅官方手册。



分享到:
评论

相关推荐

    VIM插件及教程

    安装方法: 1.将VIM_Config/.vim 拷到 ~/目录下 2.将VIM_Config/.vimrc 拷到 ~/目录下 3.将make_cscope.sh 拷到 ~/目录下 4. chmod +x ~/make_cscope...f: 查找并打开文件,类似vim的find功能 i: 查找包含本文件的文

    gitv:基于bash和vim的文件选择器,可在git存储库中打开任何源文件

    要列出所有cpp文件,请使用 $ gitv vi cpp$or$ gitv find cpp$要列出所有.x文件,请使用 $ gitv find %.x$要列出所有主要功能,请使用 $ gitv ts main$or more precisely,$ gitv ts ^main$上面的“ ts”命令要求安装...

    vim-eunuch:eunuch.vim:UNIX的帮助程序

    太监最需要UNIX外壳程序命令的Vim sugar。 功能包括: :Delete :同时删除缓冲区和磁盘上的文件。 :Unlink :类似于:Delete ,但保留现在为空的缓冲区。 :Move :同时重命名缓冲区和磁盘上的文件。 :Rename :类似于...

    CentOS 6 命令(十)——grub引导菜单、init配置文件

    find / -name grub* #在根下查找名字为grub相关的 find / -name grub -a -type f...vim /root/Desktop/splash.xpm #用编辑器打开图片文件 grub-md5-crypt #生成md5加密的密码 grub-crypt #sha-512类型加密 grub> help

    vimrc:MeteorWeb开发为中心的vim配置

    特征突出显示Webdev中常见内容的语法模糊搜索功能的 打开当前目录中的文件<leader><CN>使用外部程序以递归方式在某些子目录中打开文件。 (默认情况下,使用find ,安装ag以获得速度,如果可用的话,将使用该命令)...

    Linux常用命令整理

    这篇博客整理一些日常经常使用的Linux命令,以及总结一部分常用的Linux 知识,以备日后复习使用。 最常用命令 cd: 打开某个文件夹 ls:查看当前目录下文件 cp:复制文件 mv:剪切指令 vim:编辑文件指令 mkdir:...

    redhat linux教材20课程学习文档

    4.2.3 打开文件、保存文件和退出 vi 编辑器 4.3 vi 的三种模式 4.3.1 vi 的输入模式(Insert mode) 4.3.2 vi 的命令模式(Command mode) 4.3.3 vi 的底线模式(Last line mode) 4.3.4 vi 三种模式的切换 4.4 在...

    Kali使用手册.docx

    1.3.4 谁打开了哪个文件? 14 1.3.5 挂载/卸载文件系统 15 1.4 网络 15 1.4.1 网络调试 15 1.4.2 路由 15 1.4.3 配置IP地址 16 1.4.4 变更MAC地址 16 1.4.5 端口 16 1.4.6 防火墙 17 1.4.7 IP路由转发 17 ...

    Linux常用的命令。。。。。

    配置dns : vim /etc/resolv.conf nameserver(命令) ip 立刻生效 hostname 主机名 /etc/sysconfig/network (里面有全局网关gateway) hostname +主机名 可以立刻改名,但未写入文件中 /etc/hosts 本地域名解析,可以改...

    vundle-cli:Vim插件管理器Vundle的(小)CLI

    在删除任何内容之前,该命令将提示您进行确认,除非打开--force开关。 我这样做是为了更快地使用我的特定卸载插件。 安装 将此行添加到您的应用程序的Gemfile中: gem 'vundle-cli' 然后执行: $ vundle 或将其...

    ctrlp-find-cache:已弃用

    ctrlp-查找-缓存异步缓存。 这个插件产生find作为后台进程来缓存其输出以供后续... 它默认为各种标志,用于跳过 VCS 目录、缓存目录、构建文件和 Vim 无法打开的各种文件格式。 如果您想知道此变量默认为哪个值,请查

Global site tag (gtag.js) - Google Analytics