有時候,您可能需要修改多個文件,或要將一個文件的內容復制到另一個文件中。在圖形用戶界面中,您可以在任何圖形文本編輯器(如 gedit)中打開文件,并使用CTRL + C和CTRL + V復制和粘貼內容。在命令行模式下,您不能使用這種編輯器。不過別擔心,只要有vim編輯器就有辦法。在本教程中,我們將學習使用vim編輯器同時編輯多個文件。相信我,很有意思噠。
安裝 Vim
Vim 編輯器可在大多數 Linux 發行版的官方軟件倉庫中找到,所以您可以用默認的軟件包管理器來安裝它。例如,在 Arch Linux 及其變體上,您可以使用如下命令:
$ sudo pacman -S vim
在 Debian 和 Ubuntu 上:
$ sudo apt-get install vim
在 RHEL 和 CentOS 上:
$ sudo yum install vim
在 Fedora 上:
$ sudo dnf install vim
在 openSUSE 上:
$ sudo zypper install vim
使用 Linux 的 Vim 編輯器同時編輯多個文件
現在讓我們談談正事,我們可以用兩種方法做到這一點。
方法一
有兩個文件,即 file1.txt 和 file2.txt,帶有一堆隨機單詞:
$ cat file1.txt
ostechnix
open source
technology
linux
unix
$ cat file2.txt
line1
line2
line3
line4
line5
現在,讓我們同時編輯這兩個文件。請運行:
$ vim file1.txt file2.txt
Vim 將按順序顯示文件的內容。首先顯示第一個文件的內容,然后顯示第二個文件,依此類推。
- 在文件中切換
要移至下一個文件,請鍵入:
:n
要返回到前一個文件,請鍵入:
:N
如果有任何未保存的更改,Vim 將不允許您移動到下一個文件。要保存當前文件中的更改,請鍵入:
ZZ
請注意,是兩個大寫字母 ZZ(SHIFT + zz)。
要放棄更改并移至上一個文件,請鍵入:
:N!
要查看當前正在編輯的文件,請鍵入:
:buffers
您將在底部看到加載文件的列表。
要切換到下一個文件,請輸入:buffer,后跟緩沖區編號。例如,要切換到第一個文件,請鍵入:
:buffer 1
- 打開其他文件進行編輯
目前我們正在編輯兩個文件,即file1.txt和file2.txt。我想打開另一個名為file3.txt的文件進行編輯。
您會怎么做?這很容易。只需鍵入:e,然后輸入如下所示的文件名即可:
:e file3.txt
現在你可以編輯file3.txt了。
要查看當前正在編輯的文件數量,請鍵入:
:buffers
請注意,對于使用:e打開的文件,您無法使用:n或:N進行切換。要切換到另一個文件,請輸入:buffer,然后輸入文件緩沖區編號。
- 將一個文件的內容復制到另一個文件中
您已經知道了如何同時打開和編輯多個文件。有時,您可能想要將一個文件的內容復制到另一個文件中。這也是可以做到的。切換到您選擇的文件,例如,假設您想將file1.txt的內容復制到file2.txt中:
首先,請切換到file1.txt:
:buffer 1
將光標移動至在想要復制的行的前面,并鍵入yy 以抽出(復制)該行。然后,移至 file2.txt:
:buffer 2
將光標移至要從 file1.txt 粘貼復制行的位置,然后鍵入 p。例如,您想要將復制的行粘貼到 line2 和 line3 之間,請將鼠標光標置于行前并鍵入 p。
輸出示例:
line1
line2
ostechnix
line3
line4
line5
要保存當前文件中所做的更改,請鍵入:
ZZ
再次提醒,是兩個大寫字母 ZZ(SHIFT + z)。
保存所有文件的更改并退出 vim 編輯器,鍵入:
:wq
同樣,您可以將任何文件的任何行復制到其他文件中。
- 將整個文件內容復制到另一個文件中
我們知道如何復制一行,那么整個文件的內容呢?也是可以的。比如說,您要將 file1.txt 的全部內容復制到 file2.txt 中。
先打開 file2.txt:
$ vim file2.txt
如果文件已經加載,您可以通過輸入以下命令切換到 file2.txt:
:buffer 2
將光標移動到您想要粘貼 file1.txt 的內容的位置。我想在 file2.txt 的第 5 行之后粘貼 file1.txt的內容,所以我將光標移動到第 5 行。然后,鍵入以下命令并按回車鍵:
:r file1.txt
這里,r代表 “read”。
現在您會看到file1.txt的內容被粘貼在file2.txt的第 5 行之后。
line1
line2
line3
line4
line5
ostechnix
open source
technology
linux
unix
要保存當前文件中的更改,請鍵入:
ZZ
要保存所有文件的所有更改并退出 vim 編輯器,請輸入:
:wq
方法二
另一種同時打開多個文件的方法是使用 -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– 右面的窗口
其他的一切都與方法一的描述相同。
例如,要列出當前加載的文件,請運行:
:buffers
在文件之間切換:
:buffer 1
打開其他文件,請鍵入:
:e file3.txt
將文件的全部內容復制到另一個文件中:
:r file1.txt
方法二的唯一區別是,只要您使用 ZZ 保存對當前文件的更改,文件將自動關閉。然后,您需要依次鍵入 :wq 來關閉文件。但是,如果您按照方法一進行操作,輸入 :wq 時,所有更改將保存在所有文件中,并且所有文件將立即關閉。
-
VIM
+關注
關注
0文章
134瀏覽量
15307 -
編輯器
+關注
關注
1文章
806瀏覽量
31187
原文標題:如何使用 Vim 編輯器編輯多個文件
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論