我的工作流程目前在一个文件中有多个类。我即将改用单个文件中的每个课程,但他们之间是相互关联的。我发现切换标签然后跳到我正在寻找的线路时感到很沮丧,类似地跳跃窗口然后跳到线路似乎是浪费时间。我想打开多个文件,好像它们是一个单个连接文件,这样我就可以使用更清晰的文件层次结构维护当前的编辑流程。从本质上讲,按住j会使我无缝地浏览多个文件,并且在搜索结果中移动也会传输多个文件。有没有办法做到这一点?
答案 0 :(得分:0)
我的建议是稍微改变您的工作流程。不要将多个文件作为一个连续文件打开,而是使用专为导航和搜索而设计的功能。
按住j
不要长时间按住j
,而应考虑:
{
,}
- 跳上/下段落]m
,[m
,]M
,[M
- 向上/向下跳转到下一个方法开始/结束]]
,[[
,][
,[]
- 向上/向下跳到下一课开始/结束ctrl-f
,ctrl-b
,ctrl-u
,ctrl-d
- 向上/向下翻页,半页向上/向下H
,M
,L
- 将光标移至屏幕的顶部,中间或底部: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窗口,标签和缓冲区。