VIM实现文件快速跳转插件详解

前言

日常使用 vim 的时候经常有跳转到特定目录下某个文件的需求:

  • 使用 vimwiki 记笔记时会默认把所有笔记保存在目录 ~/vimwiki 下, 当我们想查看某个笔记时就打开那个目录下的某个文件;
  • 我平时会写一些 shell 工具, 保存在 ~/bin 目录下, 就会有在这个目录下创建或者打开文件的需求;
  • 如果你用 ultisnip 之类的插件的话, 就需要经常编辑不同类型文件对应的 snippets 文件;

根据我个人的使用经验, 在特定目录下打开某个文件 的需求还是很多的, 于是便写了插件 filejumper 来实现这个需求.

这个插件提供了下面这些功能:

  • 通过一行配置能快速定义和某个目录绑定的 command;
  • 通过执行 command filename 能快速打开对应目录下的某个文件, 能通过 tab 键补全文件名;
  • 能通过指定不同的 vim 命令以不同的模式打开文件, 如 command filename vnew 等;

下面就会介绍如何安装, 配置已经使用这个插件.

安装和配置

可以通过 vim-plug 进行安装:

?

plug 'https://github.com/hiberabyss/filejumper'

安装完成后通过配置变量 g:file_jumper_command 来定义不同的 command, 下面是插件默认的配置:

?

let g:file_jumper_command = {

   \ "gbin": {'dir': expand("$home/bin"), 'extension': ''},

   \ "gwiki": {'dir': g:myvimwikidir, 'extension': '.wiki', 'keymap': '<leader>wg'},

   \ }

  • gbin 之类的是命令名;
  • dir 表示和这个命令绑定的目录;
  • extension 表示对应目录下的文件的默认后缀名, 在打开文件时会被自动添加上去;
  • keymap 表示给这个命令映射一个快捷键;

如何使用

执行 gbin pyserver 就会默认通过 tabnew ~/bin/pyserver 来打开对应的文件:

VIM实现文件快速跳转插件详解

在上面的演示中, 我们只输入了 py 然后按 tab 键就可以自动补全文件名 pyserver.

我们也可以通过添加 vim 命令来决定文件的打开方式:

VIM实现文件快速跳转插件详解

从上面的演示中可以看出在使用了 vnew 或者 e 之后, vim 打开文件的方式会和默认的不一样. 我们也可以使用 bot vnew 之类的复合命令.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

原文链接:https://hiberabyss.github.io/2018/04/13/vim-file-jumper/

原创文章,作者:WJWFO,如若转载,请注明出处:http://www.wangzhanshi.com/n/6337.html

(0)
WJWFO的头像WJWFO
上一篇 2025年1月1日 16:20:37
下一篇 2025年1月1日 16:20:41

相关推荐

  • linux系统下如何挂载NTFS移动硬盘

    前言 数据迁移是我们经常会遇到的,有时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,Linux是识别不了NTFS格…

    Linux 2025年1月1日
  • IO多路复用之epoll全面总结(必看篇)

    1、基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文…

    2025年1月1日
  • Linux入侵常用命令之防黑客示例代码

    前言 linux权限多设的比较松的其实,但有的虚拟机还是不能跨目录访问的。在提不了权的情况下,试试如下代码吧。运气好的话说不定就跨过去了。下面话不多说了,来一起看看详细的介绍吧。 …

    Linux 2025年1月1日
  • 利用Linux防火墙隔离本地欺骗地址的方法详解

    前言 即便是被入侵检测和隔离系统所保护的远程网络,黑客们也在寻找各种精巧的方法入侵。IDS/IPS 不能停止或者减少那些想要接管你的网络控制权的黑客攻击。不恰当的配置允许攻击者绕过…

    Linux 2025年1月1日
  • 详解Linux 查看服务器开放的端口号

    在讨论这个问题前,我们先来了解一下物理端口、逻辑端口、端口号等计算机概念。 端口相关的概念: 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的…

    2025年1月1日
  • 这个 Linux 图形计算器让数学很有趣

    就像你在高中时最喜欢的图形计算器一样,KAlgebra 是科学计算器的同时还有 2D 绘图仪等功能。 如果你在高中时期一直盯着 TI-80 系列计算器,但后来就在也没动过它,那么你…

    2025年1月1日
  • Linux(ubuntu)下实现增加/删除文件权限

    【权限篇】 ubuntu系统中,对于不同用户及不同用户组中用户对文件的操作权限都不相同,通过控制台我们可以快速的对文件权限进行操作。 对于修改权限可以使用两种方案来更改其权限,下面…

    Linux 2025年1月1日
  • Linxu服务器上安装JDK 详细步骤

    一、环境 vmware12 pro centos-6.7-i386-bin-dvd1 jdk-8u151-linux-i586 二、详细安装步骤 前提:需要卸载自己linux上的j…

    2025年1月1日
  • 记一次真实的zip密码破解

    事情的背景是这样的,最近在学习网络的时候遇到一个工具cain&abel,于是到网上去找。原作者的网站已经不运营了,所以只能找到一些网友提供的下载包。 相信很多同学也跟我一样…

    2025年1月1日
  • linux jexus服务设置开机启动

    本文为大家分享jexus服务设置开机启动的具体代码,供大家参考,具体内容如下 linux的服务开机设置一般在 /etc/init.d/里 而jexus的默认安装目录在 /usr/j…

    Linux 2025年1月1日

发表回复

登录后才能评论