App下載

Linux系統(tǒng)如何使用Vim讀寫遠程文件

猿友 2020-07-30 15:25:59 瀏覽數 (5701)
反饋

這篇文章我們將說到Linux系統(tǒng)Vim的使用——讀寫遠程文件。在實現這個功能之前,我們要先安裝一個叫 netrw.vim的插件。

插件 netrw 是什么?

netrw(面向網絡的讀寫和瀏覽 Network oriented reading, writing and browsing)插件不僅支持本地和遠程終端跨網絡編輯、讀寫文件,還能支持瀏覽本地和遠程終端目錄。需要了解這個插件的更多細節(jié)信息,在Vim會話輸入 help netrw 即可查看。

下面讓我們來看看怎么用 Vim 從本地系統(tǒng)讀寫存儲在遠程 Linux 系統(tǒng)上的文件。

使用 Linux 系統(tǒng)上的 Vim 讀寫遠程文件

讀寫遠程文件的方法幾乎和編輯遠程文件一樣,需要從本地系統(tǒng)讀取一個遠程文件,我們可以簡單的使用下面這個命令來打開它:

$ vim scp://cirdan@192.168.225.22/info.txt

Vim打開文件

輸入 q 退出文件。

要從本地系統(tǒng)寫一個遠程文件,也是先用上述命令打開文件,之后再按 i 進入插入模式接著就可以往文件里寫入了。等寫完需要寫入文件的內容之后,按 ESC 鍵退出插入模式,然后輸入 wq 保存并退出。

vim寫入文件

命令背后的運行過程實際上是用 scp 命令將遠程文件拷貝到本地系統(tǒng)的 /tmp 目錄下,然后再打開文件編輯的。在你編輯完后,scp 命令再次將本地已編輯文件拷貝回遠程系統(tǒng)。

要從本地查看遠程文件內容是否真的改動過用這一條命令:

$ ssh cirdan@192.168.225.22 cat info.txt

請注意,如果你要用遠程終端目錄的絕對路徑,應像如下所示命令一樣使用雙斜杠:

$ vim scp://cirdan@192.168.225.22//home/cirdan/Documents/info.txt

如果你已經因為安全原因改變了SSH端口,則應當顯式地說明SSH端口號,如下所示:

$ vim scp://cirdan@192.168.225.22:2200/info.txt

這里端口 2200 就是我們自定義的端口號,大家可以根據具體情況使用自己的 ssh 端口號替代上述命令中的2200。

如果你沒有 ssh/scp 的通道,也可以用其他協議來替代,如下所示:

$ vim ftp://user@remotesystem/path/to/file

在Vim會話里讀寫遠程文件

如果你已經進入了一個 Vim 會話,則可以使用 Nread(NetRead)和 Nwrite(NetWrite)命令來讀寫遠程文件。

假如,我們現在使用如下命令打開本地系統(tǒng)的Vim 編輯器:

$ vim

接著你就進入了 Vim 會話,要在本地新緩存中的 Vim 會話中讀一個遠程文件,只需要運行如下命令:

:e scp://cirdan@192.168.225.22/info.txt

除此之外,還可以用 Nread 命令如下所示:

:Nread scp://cirdan@192.168.225.22/info.txt

或者,這樣輸入:

:Nread "scp://cirdan@192.168.225.22/info.txt"

想要知道這個命令的詳細信息,請在 Vim 會話中輸入如下命令:

:Nread ?

讀完說明文件后,輸入 :q退出文件即可。

與之相似,要寫入遠程文件也應先使用如下命令:

:e scp://cirdan@192.168.225.22/info.txt

i 鍵進入插入模式就可以寫入和修改文件了。

你也可以用 :w 創(chuàng)建并寫文件,但是這個命令只能創(chuàng)建一個新的空文件:

:w scp://cirdan@192.168.225.22/info.txt

寫完之后,按 ESC 鍵退出編輯,然后輸入:wq保存并退出文件。

除此之外,還可以用 Nwrite 命令創(chuàng)建并寫入文件,其用法示例如下:

:Nwrite scp://cirdan@192.168.225.22/info.txt

關于 Nwrite 命令的詳細信息,在Vim會話中輸入如下信息即可:

:Nwrite ?

以上就是Linux系統(tǒng)中Vim的使用技巧了,希望對大家有所幫助,對Linux感興趣的同學可以看一下教程

Linux教程:http://www.o2fo.com/linux/

Linux微課:http://www.o2fo.com/minicourse/play/linuxcourse

Linux就該這么學:http://www.o2fo.com/linuxprobe/

0 人點贊