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

时间:2012-02-22 12:35:45

标签: vim

我是VIM的新手。 看起来,为了使复制和粘贴功能在不同文件之间工作,必须在同一个VIM实例中打开文件。但是,执行此操作会将终端屏幕拆分为2.打开一个新文件,将其拆分为3等等。

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

6 个答案:

答案 0 :(得分:8)

您可以在同一个vim实例和同一窗口中打开文件(不拆分它)。这就是所谓的缓冲区。您看到的视图是当前缓冲区,但其他缓冲区仍然打开。

Here you have an introduction on how to work in vim with buffers.

或在vim中输入:help buffers

你可以使用一些插件来使用vim缓冲区更加用户友好。我建议您bufexplorerminibufexpl

你也可以use tabs,但我总是对缓冲更容易,但这只是我的情况。

答案 1 :(得分:4)

使用tabedit代替split打开更多文件。

答案 2 :(得分:3)

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

:e File1.txt
:e File2.txt and so on ...

然后使用:bprevious:bnext(以及其他各种命令)切换缓冲区。这真的是Vim的工作方式。

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

每个文件一个标签实际上是错误的方式......

答案 3 :(得分:3)

在标签中打开所有txt个文件:

$ vim -p *.txt

使用 gt gT 在标签之间切换。


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

nmap <C-H> gT
nmap <C-L> gt
nmap <leader>t :tabnew<CR>

答案 4 :(得分:1)

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

答案 5 :(得分:1)

如果您唯一的要求是在文件之间复制粘贴。如果set clipboard=unnamed
,您可以在vim的不同实例之间执行此操作 这会导致vim使用系统剪贴板而不是它自己的内部缓冲区。所以你可以{Firefox从火狐<C-c>然后p进入vim,y从一个vim p进入另一个等等。 见http://vim.wikia.com/wiki/VimTip21

如果您希望在同一窗口中打开文件,我会使用其中一个其他答案并使用缓冲区(而不是拆分)或制表符。我个人经常在一个gvim窗口中打开10个或更多缓冲区,并使用2个拆分窗口查看我使用:bn:bp之间切换的缓冲区。