如何在vim中打开多个文件作为一个连续文件?

时间:2014-08-22 14:03:10

标签: vim macvim

我的工作流程目前在一个文件中有多个类。我即将改用单个文件中的每个课程,但他们之间是相互关联的。我发现切换标签然后跳到我正在寻找的线路时感到很沮丧,类似地跳跃窗口然后跳到线路似乎是浪费时间。我想打开多个文件,好像它们是一个单个连接文件,这样我就可以使用更清晰的文件层次结构维护当前的编辑流程。从本质上讲,按住j会使我无缝地浏览多个文件,并且在搜索结果中移动也会传输多个文件。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

我的建议是稍微改变您的工作流程。不要将多个文件作为一个连续文件打开,而是使用专为导航和搜索而设计的功能。

按住j

不要长时间按住j,而应考虑:

  • {} - 跳上/下段落
  • ]m[m]M[M - 向上/向下跳转到下一个方法开始/结束
  • ]][[][[] - 向上/向下跳到下一课开始/结束
  • ctrl-fctrl-bctrl-uctrl-d - 向上/向下翻页,半页向上/向下
  • HML - 将光标移至屏幕的顶部,中间或底部
  • 更多来自vim帮助::help various-motions

搜索多个文件

我的工作流程通常不涉及搜索导航多个文件,但您可以:vimgrep(导航到下一个,上一个,:cn:cp)。有关于不同搜索方式的完整维基:http://vim.wikia.com/wiki/Find_in_files_within_Vim

如评论中所述,ctags也是多文件导航的解决方案,以便跳转到类或方法名称定义:

  • ctrl-] - 转到定义
  • <ctrl-w>]<ctrl-w>} - 在分割/预览窗口中打开def(<ctrl-w>T以打开拆分为新标签页)

处理多个文件时

虽然@ AnthonyLambert关于vanilla vim的多文件处理的评论是半真的,但有很多插件可以完全缓解这个问题。我个人使用NERDTree + NERDTreeTabs来创建类似IDE的项目浏览器,CtrlP用于模糊文件名匹配,还有基本的vim窗口,标签和缓冲区。