如何使用vi编辑器打开两个不同的文件?


20

我在不同位置有两个文件,我想用同一vi命令打开这两个文件。我该怎么做?

  • 文件1的位置: /home/rs/rest.pl
  • 文件2的位置: /home/dev/grd.pl

4
对于它的价值,有一个仅针对Vi / Vim的Beta版网站:vi.stackexchange.com
JPhi1618

Answers:


25

如Zanna所述,对Vi使用多个参数。但是,默认情况下,Vi(m)不会一次显示文件。它们已加载到缓冲区中,您可以使用:bn和切换到下一个(或上一个)缓冲区:bp。如果要同时查看文件,请使用窗口(拆分):

vim /some/file1 /some/file2 -o # horizontal split
vim /some/file1 /some/file2 -O # vertical split

或标签:

vim /some/file1 /some/file2 -p # Open up to 10 files in tabs

但是,缓冲区是Vim实际用于处理文件的东西,选项卡和窗口只是视觉上排列它们的方式。习惯于直接使用缓冲区,而不是通过多个窗口或选项卡。

(这些选项也适用于Ubuntu vivim.tiny默认情况下。vim-tiny是使用内置的+windows,因此启用了选项卡和窗口。)

也可以看看:


12

您可以使用多个参数调用vi(或vim)调用

vi /home/rs/rest.pl /home/dev/grd.pl

您在第一个文件中,但两者均处于打开状态。您可以使用:n(下一个文件)和:N(最后一个文件)在它们之间切换(esc如果需要,请按退出插入模式)。

我注意到这些文件位于其他用户的主目录中,因此您可能没有作为普通用户的权限。要编辑用户没有足够权限进行编辑的文件,您将需要sudo。您可以sudo最初使用命令运行,或者在保存文件时使用技巧:w !sudo tee %


2
+1 :w !sudo tee %绝招!
nalzok

1

如果要查看水平平铺的两个文件,请使用

vi -o /home/rs/rest.pl /home/dev/grd.pl

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.