vim debug.log*
,debug.log
和debug.log.1
的debug.log.2
,我可以在它们之间进行导航,将它们分配给多个窗口(:split
/ :vsplit
)还是这样?我知道这种操作模式的唯一快捷方式是:n
,它将加载列表中的下一个文件。在这种多文件操作模式下,我还能做什么? (或哪个帮助主题涵盖了?)#1 楼
最相关的帮助主题是:ls
,也称为:files
或:buffers
。在您的
vim debug.log*
示例中,如果给出了:ls
命令,则会看到::ls
1 %a "debug.log" line 1
2 "debug.log.1" line 0
3 "debug.log.2" line 0
Press ENTER or type command to continue
…表示第一个是活动缓冲区。
要在当前窗口中打开
debug.log.2
,请给:b 3
或:b debug.log.2
命令显示缓冲区3. 要拆分窗口并在其中打开缓冲区2,请发出
:sb 2
命令。垂直分割的版本是:vert sb 2
。:b
命令有很多变体。浏览此处引用的帮助主题以了解它们。此外,您可以调用
vim -o debug.log*
打开所有文件(每个文件单独分割),或者调用vim -O debug.log*
打开它们每个都垂直分割。#2 楼
除了200_success提到的原始vim功能之外,Vim的生态系统还包含许多插件来提供额外的功能,例如: /> LustyExplorerctrlp.vim
Command-T
其他很多,在堆栈溢出问题中提到了很多,您开始使用插件时,最好完全了解vim中的缓冲区和窗口。
评论
请阅读我们关于插件推荐答案的政策,并添加一些有关这些插件如何使用户受益的详细信息。
– 200_success
2015年2月6日在22:15
#3 楼
您也可以使用不同的参数打开vim。在选项卡中打开文件:
vim -p debug.log*
以垂直分割打开文件:
vim -o debug.log*
有一个很酷且功能强大的插件,称为CtrlSpace:
https://github.com/szw/vim-ctrlspace
如果需要处理许多文件,这非常方便。只需将ctrl-space想象成每个选项卡的缓冲区列表即可。如作者所述,它提供了一种在文件之间导航的非常简单的方法:Vim-CtrlSpace是Vim插件,用于控制和组织Vim中的工作空间。包括管理缓冲区,文件,选项卡,会话和
最终项目。它的方法有些独特,但是您肯定会感到宾至如归,特别是如果您使用已拆分的窗口,选项卡,
缓冲区等。
评论
欢迎来到Vi / Vim!请阅读我们关于插件推荐答案的政策,并添加一些有关插件如何准确解决问题的详细信息。
– 200_success
2015年2月6日在22:14
相关:如何在拆分模式下打开多个文件?
– Kenorb
15年2月13日在12:31
#4 楼
如果要打开特定文件而不需要通过:ls
进行操作,则可以使用以下任意一种方法::vs filename
以垂直拆分的方式打开文件:sp filename
的功能相同,但是在水平拆分中:tabe filename
在新选项卡中打开同样值得注意的是,如果您未指定文件名,您将打开当前文件的新拆分/标签,这对于长文件而言非常方便。
评论
:t是复制命令。对于:tabedit,您至少需要:tabe。
–tommcdo
2015年2月9日在11:19
哦,党,你是完全正确的。谢谢,我来编辑!
–汤姆
2015年2月9日在23:05
#5 楼
导航多个文件的实用快捷键很少: >CTRL-^
(其中N
是缓冲区编号)跳转到特定缓冲区。例如,1Control + ^-转到第一个缓冲区
2Control + ^-转到第二个缓冲区
等。
这等效于
N CTRL-^
。导航当前目录。使用
N
(:buffer N
)并在:Ex
中使用一些自定义快捷方式,例如:拆分,通过Control + w,w / W跳转到选定的缓冲区,然后将其作为当前窗口(:Sex
)。
评论
:previous(或:prev)与:n相反,并返回文件。