产品使用与售后服务帮助
发布时间:2021-03-23 10:02 来源:A5数据
有时,您会发现自己想要在多个文件中进行更改。或者,您可能希望将一个文件的内容复制到另一个文件。如果您处于GUI模式,则可以在任何图形文本编辑器(如gedit)中打开文件,然后使用CTRL + C和CTRL + V复制/粘贴内容。在CLI模式下,您不能使用此类编辑器。不用担心!哪里有vim编辑器,哪里有办法!在本教程中,我们将学习使用Vim编辑器同时编辑多个文件。相信我,这是非常有趣的Vim功能!
在Linux上安装Vim
大多数Linux发行版的官方存储库中都提供了Vim编辑器。因此,您可以使用默认的程序包管理器进行安装。
例如,在Arch Linux上,可以使用以下命令进行安装:
$ sudo pacman -S vim
在Debian和Ubuntu上:
$ sudo apt-get install vim
在RHEL上,CentOS:
$ sudo yum install vim
在Fedora上:
$ sudo dnf安装vim
在openSUSE上:
$ sudo zypper安装vim
在Linux中使用Vim编辑器一次编辑多个文件
使用Vim编辑器可以有多种编辑倍数的方法。我知道两种方法。
方法1
我有两个文件,分别是file1.txt和file2.txt,其中有一堆随机单词。让我们看看它们。
$ cat file1.txt
$ cat file2.txt
现在,让我们使用Vim编辑器一次编辑这两个文件。为此,请运行:
$ vim file1.txt file2.txt
Vim将按顺序显示文件的内容。首先显示第一个文件的内容,然后显示第二个文件,依此类推。
在文件之间切换
要移至下一个文件,请键入:
:n
要返回上一个文件,请输入:
:N
在此,N为大写字母(SHIFT + n类型)。
使用Vim编辑器的方式开始编辑文件。按“ i”切换到交互模式,然后根据自己的喜好修改内容。完成后,按ESC返回正常模式。
如果有任何未保存的更改,Vim将不允许您移动到下一个文件。要将更改保存在当前文件中,请键入:
ZZ
请注意,它是双大写字母ZZ(SHIFT + zz)。
要放弃更改并移至上一个文件,请键入:
:N!
要查看当前正在编辑的文件,请键入:
:buffers
您将在底部看到已加载文件的列表。
要切换到下一个文件,请输入:buffer,然后输入缓冲区编号。例如,要切换到第一个文件,请输入:
:buffer 1
或者,只需执行以下操作:
:b 1
只要记住这些命令就可以在缓冲区之间轻松切换:
:bf#转到第一个文件。
:bl#转到最后一个文件
:bn#转到下一个文件。
:bp#转到上一个文件。
:b number#转到第n个文件(例如:b 2)
:bw#关闭当前文件。
打开其他文件进行编辑
我们当前正在编辑两个文件,即file1.txt,file2.txt。您可能要打开另一个名为file3.txt的文件进行编辑。你会怎么做?这简单!只需键入:e,然后输入如下文件名即可。
:e file3.txt
现在,您可以编辑file3.txt。
要查看当前正在编辑多少个文件,请键入:
:buffers
请注意,您不能使用:n或:N来使用:e在打开的文件之间切换。要切换到另一个文件,请输入:buffer,然后输入文件缓冲区号。
将一个文件的内容复制到另一个文件
您知道如何同时打开和编辑多个文件。有时,您可能希望将一个文件的内容复制到另一个文件中。也有可能。切换到您选择的文件。例如,假设您要将file1.txt的内容复制到file2.txt中。
为此,首先切换到file1.txt:
:buffer 1
将移动光标放在要复制的行的前面,然后键入yy以拉(复制)该行。然后,移至file2.txt:
:buffer 2
将鼠标光标放在要粘贴从file1.txt复制的行的位置,然后键入p。例如,您要在第2行和第3行之间粘贴复制的行。这样做,请将鼠标光标放在line之前,然后输入p。
要保存在当前文件中所做的更改,请键入:
ZZ
同样,请注意,这是双大写字母ZZ(SHIFT + z)。
要保存所有文件中的更改并退出vim编辑器。类型:
:wq
同样,您可以将任何行从任何文件复制到其他文件。
将整个文件内容复制到另一个文件中
我们知道如何复制一行。那么整个文件的内容呢?这也是可能的。假设您要将file1.txt的全部内容复制到file2.txt中。
为此,请首先打开file2.txt:
$ vim file2.txt
如果文件已经加载,则可以通过键入以下命令切换到file2.txt:
:buffer 2
将光标移到要复制file1.txt内容的位置。我想将file1.txt的内容复制到file2.txt中的第5行之后,所以我将光标移到了第5行。然后,键入以下命令并按Enter键:
:r file1.txt
在这里,r表示已读。
现在,您将看到file1.txt的内容粘贴在file2.txt中的第5行之后。
要将更改保存在当前文件中,请键入:
ZZ
要保存所有已加载文件中的所有更改并退出vim编辑器,请输入:
:wq
方法2
一次打开多个文件的另一种方法是使用-o或-O标志。
要在水平窗口中打开多个文件,请运行:
$ vim -o file1.txt file2.txt
要在窗口之间切换,请按CTRL-w w(即,按CTRL + w并再次按w)。或者,使用以下快捷方式在窗口之间移动。
CTRL-W K-顶部窗口
CTRL-w j-底部窗口
要在垂直窗口中打开多个文件,请运行:
$ vim -O file1.txt file2.txt file3.txt
要在窗口之间切换,请按CTRL-w w(即,按CTRL + w并再次按w)。或者,使用以下快捷方式在窗口之间移动。
CTRL-W L-左窗口
CTRL-w h-右窗口
其他所有内容都与方法1中所述相同。
例如,要列出当前加载的文件,请运行:
:buffers
要在文件之间切换:
:buffer 1
要打开其他文件,请键入:
:e file3.txt
要将文件的全部内容复制到另一个文件中:
:r file1.txt
方法2的唯一区别是,使用ZZ将更改保存到当前文件后,文件将自动关闭。另外,您需要通过输入:wq来关闭文件。但是,如果您遵循方法1,则在键入:wq时,所有更改将保存在所有文件中,并且所有文件将立即关闭。
有关更多详细信息,请参见手册页。
$ man vim
您现在知道如何在Linux中使用vim编辑器来编辑多个文件。如您所见,编辑多个文件并不困难。Vim编辑器具有更强大的功能。