有时,您可能需要修改多个文件,或者将一个文件的内容复制到另一个文件。从GUI中,您可以在任何图形文本编辑器(例如gedit)中打开文件,然后使用CTRL+C和CTRL+V复制和粘贴内容。您不能在命令行模式下使用此编辑器。不过不用担心,只要你有vim编辑器,就有办法。在本教程中,我们将学习使用vim编辑器同时编辑多个文件。相信我,这非常有趣。安装VimVim编辑器可在大多数Linux发行版的官方软件存储库中找到,因此您可以使用默认包管理器安装它。例如,在ArchLinux及其变体上,您可以使用这样的命令:$sudopacman-Svim在Debian和Ubuntu上:$sudoapt-getinstallvim在RHEL和CentOS上:$sudoyuminstallvim在Fedora上:$sudodnfinstallvim在openSUSE上:$sudozypperinstallvim使用Linux的Vim编辑器同时编辑多个文件现在让我们进入正题,我们可以通过两种方式来完成。方法一有两个文件,file1.txt和file2.txt,带有一堆随机词:$catfile1.txtostechnixopensourcetechnologylinuxunix$catfile2.txtline1line2line3line4line5现在,让我们同时编辑这两个文件。请运行:$vimfile1.txtfile2.txtVim会按顺序显示文件的内容。第一个文件的内容首先显示,然后是第二个文件,依此类推。切换文件要移动到下一个文件,请输入::n要返回上一个文件,请输入::N如果有任何未保存的更改,Vim将不允许您移动到下一个文件。要保存当前文件中的更改,请键入:ZZ注意两个大写字母ZZ(SHIFT+zz)。要放弃更改并移至上一个文件,请键入::N!要查看当前正在编辑的文件,请键入::buffers您将在底部看到已加载文件的列表。要切换到下一个文件,请输入:buffer后跟缓冲区编号。例如,要切换到第一个文件,键入::buffer1打开其他文件进行编辑目前我们正在编辑两个文件,file1.txt和file2.txt。我想打开另一个名为file3.txt的文件进行编辑。你会怎么办?这很容易。只需键入:e后跟一个文件名,如下所示::efile3.txt现在您可以编辑file3.txt。要查看当前正在编辑的文件数量,请键入::buffers请注意,对于使用:e打开的文件,您不能使用:n或:N切换。要切换到另一个文件,请键入:buffer后跟文件缓冲区编号。将一个文件的内容复制到另一个文件您已经知道如何同时打开和编辑多个文件。有时,您可能希望将一个文件的内容复制到另一个文件中。也可以做到。切换到您选择的文件,例如,假设您要将file1.txt的内容复制到file2.txt:首先,请切换到file1.txt::buffer1将光标移动到您想要的行的前面复制,然后键入yy以拉出(复制)该行。然后,移动到file2.txt::buffer2将光标移动到要粘贴从file1.txt复制的行的位置,然后键入p。例如,如果要将复制的行粘贴到line2和line3之间,请将鼠标光标放在该行的前面并键入p。示例输出:line1line2ostechnixline3line4line5要保存在当前文件中所做的更改,请键入:ZZ同样,两个大写字母ZZ(SHIFT+z)。保存所有文件更改并退出vim编辑器,键入::wq同样,您可以将任何文件中的任何行复制到其他文件中。将一个文件的全部内容复制到另一个文件中我们知道如何复制一行,但是如何复制一个文件的全部内容呢?这也很好。假设您想将file1.txt的全部内容复制到file2.txt中。首先打开file2.txt:$vimfile2.txt如果文件已经加载,你可以输入以下命令切换到file2.txt::buffer2移动光标到你想粘贴file1.txt内容的地方。我想把file1.txt的内容粘贴到file2.txt的第5行之后,所以把光标移动到第5行。然后,键入以下命令并按Enter::rfile1.txt此处,r代表“读取”。您现在将看到file1.txt的内容粘贴在file2.txt的第5行之后。line1line2line3line4line5ostechnixopensourcetechnologylinuxunix要保存当前文件中的更改,键入:ZZ要保存所有文件中的所有更改并退出vim编辑器,键入::wq方法二另一种同时打开多个文件的方法是使用-o或-O符号。要在水平窗口中打开多个文件,请运行:$vim-ofile1.txtfile2.txt要在窗口之间切换,请按CTRL-ww(即按CTRL+w,然后再次按w)。或者,您可以使用以下快捷方式在窗口之间移动:CTRL-wk-上部窗口CTRL-wj-下部窗口要在垂直窗口中打开多个文件,请运行:$vim-Ofile1.txtfile2.txtfile3.txt要在窗口之间切换,请按CTRL-ww(即按CTRL+w,然后再次按w)。或者,使用以下快捷方式在窗口之间移动:CTRL-wl-左窗口CTRL-wh-右窗口其他一切都与方法一所述相同。例如,要列出当前加载的文件,运行::buffers在文件之间切换::buffer1要打开其他文件,键入::efile3.txt将一个文件的全部内容复制到另一个文件中::r最大的区别file1.txt的方法二是用ZZ保存当前文件的修改后,文件会自动关闭。然后你需要依次输入:wq来关闭文件。但是,如果您遵循方法一,当您键入:wq时,所有更改都将保存在所有文件中,并且所有文件将立即关闭。有关更多详细信息,请参见手册页。$manvim推荐阅读你现在已经掌握了如何在Linux中使用vim编辑器编辑多个文件。如您所见,编辑多个文件并不困难。Vim编辑器具有更强大的功能。接下来我们将提供更多关于Vim编辑器的内容。
