问题描述
我在不同位置有两个文件,我想使用相同的 vi
命令打开这两个文件。我该怎么做?
-
文件 1 位置:
/home/rs/rest.pl
-
文件 2 位置:
/home/dev/grd.pl
最佳回答
As noted by 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 的 vi
,默认情况下为 vim.tiny
。 vim-tiny
是使用 +windows
构建的,因此启用了选项卡和窗口。)
也可以看看:
次佳回答
您可以使用多个参数调用 call vi(或 vim)
vi /home/rs/rest.pl /home/dev/grd.pl
您位于第一个文件中,但两个文件都已打开。您可以使用 :n
(下一个文件)和 :N
(最后一个文件)在它们之间切换(如有必要,按 esc
退出插入模式)。
我注意到这些文件位于不同用户的主目录中,因此您可能没有普通用户的权限。要编辑您的用户没有足够权限编辑的文件,您将需要 sudo
。您可以最初使用 sudo
运行该命令,或者在保存文件 :w !sudo tee %
时使用技巧