当前位置: 首页 > 文档资料 > exVim 中文文档 >

简介

优质
小牛编辑
123浏览
2023-12-01

exVim 是一个力求将 Vim 改良成集成编辑环境(IDE)的项目,exVim 在 Vim 中加入项目工程文件(.exvim)的概念, 通过使用 Vim 编辑项目工程文件 (.exvim) 触发 exVim 的插件, 从而让你能够在不同的工程中使用不同的 Vim 配置,插件配置, 甚至按需加载不同的插件. 总的来说, exVim 就是为了使 Vim 成为世界上最好用的 IDE。

更酷的是---我们能够使用exVim开发exVim(\(-_-)/)

功能

  • 使用 .exvim 配置文件管理你的工程
  • 通过单一命令更新工程。(更新的东西有 tags (自动补全用),cscoped-db (查找用),search-index, makefile, 等等)
  • 工程文件存储位置(在位于你的工程目录下的‘./.exvim.your_project_name/’文件夹下)
  • 通过你的 .exvim 配置文件为不同的通过加载不同的插件配置
  • 更好的插件管理,避免繁杂的插件导致vim的臃肿杂乱
  • 通过工程窗口浏览和操作你的工程文件
  • 提供健全的类,变量和函数跳转(当然也有误差的)
  • 支持工程范围内的全局搜索
  • 支持自定义全局搜索引擎(用户可以使用 grep,idutils 甚至自己开发的搜索引擎)
  • 提供强大的全局搜索结果过滤功能
  • 可以生产类的集成图
  • 增强版的 quick-fix 窗口
  • 整合了流行实用的vim插件

exVim 是怎么工作的呢?

通过 your_project_name.exvim 文件进行编辑和保存你的工程配置,然后使用 Vim 打开它。 在启动 Vim 后,exVim 将会解析这个文件,并且将这些设置应用于你的工程。

常用的工程配置都包含:

  • Vim 的窗口布局(何处打开插件窗口,初始化时打开的窗口,最后退出时候的窗口布局等)
  • 文件和文件夹的过滤机制
  • 工程中所需要使用的插件及其插件相关配置
  • 外部工具,比如 grep,idtuils(查找), ctags(补全及函数,宏列表使用), cscope(查找)等
  • 针对本工程的外部工具的设置
  • 自定义的扩展设置
  • 其他(未知的探索才是最刺激的)

exVim 必须确保工程文件由 your_project_name.exvim 解析生成, 保存在某处位于你的工程目录下的 ./.exvim.your_project_name/ 文件夹中. 此目录下的文件都是为了使你的工程保持的干净,并且更好的使用外部工具。 这些工程文件主要包括如下内容:

  • 全局搜索索引及结果(由 idutils 生成)
  • tags(标签,标记,标注等)
  • 关系图
  • 错误信息
  • 临时文件
  • 其他

exVim 启动后,使用 :Update 命令,exVim将可以帮助你更新上面的文件。

exVim是怎么整合vim插件的呢?

exVim 旨在想通过 纯粹的Vim脚本 实现更多更强大的功能。 为了避免重复造轮子,我们精心挑选在Vim社区中经受时间考验的vim插件,但是现有插件还是不能满足我们的要求,对于这些缺失 的功能,我们认为我们能够做的更好,所以我们开发它,并将其进行整合放在 GitHub 的 exVim organization

下面为我们收集,整理和开发 Vim 插件的一些标准:

  • 只使用 Vim 脚本进行插件的开发
  • 遵循 Unix 哲学:仅做好一件事情
  • 尽可能少的依赖
  • 高质量的,高性能的代码
  • 积极的社区
  • 能够被多种插件管理插件进行使用,如 Vundle,pathogen

想知道更详细的插件信息,请参考插件

最后更新:

类似资料

  • exVim 是一个力求将 Vim 改良成集成编辑环境(IDE)的项目,exVim 在 Vim 中加入项目工程文件(.exvim)的概念, 通过使用 Vim 编辑项目工程文件 (.exvim) 触发 exVim 的插件, 从而让你能够在不同的工程中使用不同的 Vim 配置,插件配置, 甚至按需加载不同的插件. 总的来说, exVim 就是为了使 Vim 成为世界上最好用的 IDE。

  • exVim 使用 ex-vimentry 插件来创建和设置一个项目。 ex-vimentry 插件会将 .exvim 结尾的文件里的配置应用在你的项目中。 .exvim文件的语法 阅读 ex-vimentry syntax. 默认选项 folder_filter_mode (option) 选项: include(备注:需要包含的文件夹) exclude(备注:需要排除的文件夹) folder_f

相关阅读