Vim 编辑多个文件而不拆分窗口

Vim 编辑多个文件而不拆分窗口,vim,Vim,我是维姆的新手。 看起来,为了让复制和粘贴功能在不同的文件之间工作,必须在同一个VIM实例中打开这些文件。但是,这样做会将终端屏幕分成2个部分。打开一个新文件,将其拆分为3个,等等 如果我必须打开,比如说,10多个文件,会发生什么?使用VIM的开发人员如何处理这个问题?使用tabedit而不是split来打开更多文件。您可以在同一个VIM实例和同一个窗口中打开文件(无需拆分)。这就是所谓的缓冲区。您看到的视图是当前缓冲区,但其他缓冲区仍处于打开状态 或在vim中键入:help buffers

我是维姆的新手。 看起来,为了让复制和粘贴功能在不同的文件之间工作,必须在同一个VIM实例中打开这些文件。但是,这样做会将终端屏幕分成2个部分。打开一个新文件,将其拆分为3个,等等


如果我必须打开,比如说,10多个文件,会发生什么?使用VIM的开发人员如何处理这个问题?

使用
tabedit
而不是
split
来打开更多文件。

您可以在同一个VIM实例和同一个窗口中打开文件(无需拆分)。这就是所谓的缓冲区。您看到的视图是当前缓冲区,但其他缓冲区仍处于打开状态

或在vim中键入
:help buffers

您可以使用一些插件来更好地使用vim缓冲区。我推荐你或我


您也可以,但我总是更容易使用缓冲区,但这只是我的情况。

大多数用户仅在需要时使用拆分来同时查看两个文件。您可以在不同的缓冲区中打开任意数量的文件,同时在屏幕上只显示一个缓冲区

:e File1.txt
:e File2.txt and so on ...
然后使用
:bprevious
:bnext
(以及各种其他命令)在缓冲区之间切换。这真的是维姆的工作方式

有许多用于操作和导航缓冲区的插件


每个文件使用一个选项卡是错误的…

您会发现VIM是一个非常灵活和可定制的工具,因此可能有几种方法可以实现这一点。就个人而言,我喜欢一次只打开一个缓冲区(我很少需要拆分),并使用插件跟踪打开的缓冲区数量,并在它们之间更有效地切换。

在选项卡中打开所有
txt
文件:

$ vim -p *.txt
使用gtgT在选项卡之间切换


或者您可以将这些键映射放入
.vimrc

nmap <C-H> gT
nmap <C-L> gt
nmap <leader>t :tabnew<CR>
nmap gT
nmap燃气轮机
nmap t:tabnew

如果您的唯一要求是在文件之间复制粘贴。如果
设置剪贴板=未命名

这导致vim使用系统剪贴板而不是自己的内部缓冲区。因此,您可以从firefox
,然后
p
进入vim,
y
从一个vim
p
进入另一个vim等


如果你喜欢在同一个窗口中打开文件,我会在这里使用其他答案之一,并使用缓冲区(而不是拆分)或制表符。我个人经常在一个gvim窗口和两个拆分窗口中打开10个或更多的缓冲区,我使用它们查看缓冲区,在使用
:bn
:bp
之间切换,您使用的是什么操作系统?vim的味道是什么?不需要在窗口中显示每个打开的缓冲区。从
:set hidden
开始,看
:help:ls
:help:b
,例如。我不同意你的前提。可以在vim实例之间复制粘贴,当您可以使用
tabnext
/
tabprevious
在选项卡之间切换时,请参见下面的我的答案。+1我作为VIM用户已经有一段时间了,从来都不知道
tabedit
tabedit
简写为
tabe
,如果您的终端仿真器不使用它,您可以使用Ctrl+PgUp和Ctrl+PgDown进行选项卡切换切换标签。+1,因为这是OP需要理解的基本概念。啊,这实际上非常有用。开始使用urxvt,并且ctrl+pgUp/down不再起作用。这就是我起诉维姆的方式。谢谢