<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          在Linux系統(tǒng)中使用Vim讀寫遠(yuǎn)程文件

          共 2151字,需瀏覽 5分鐘

           ·

          2020-07-30 17:18



          點(diǎn)擊「閱讀原文」查看良許原創(chuàng)精品視頻。


          大家好,我是良許。

          今天我們討論一個(gè) Vim 使用技巧——用 Vim 讀寫遠(yuǎn)程文件。要實(shí)現(xiàn)這個(gè)目的,我們需要使用到一個(gè)叫 netrw.vim 的插件。從 Vim 7.x 開始,netrw.vim 就被設(shè)置為默認(rèn)安裝的標(biāo)準(zhǔn)插件了。這個(gè)插件允許用戶通過 ftp、rcp、scp、http 等協(xié)議讀寫、編輯和瀏覽遠(yuǎn)程文件。


          插件 netrw 是什么?



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

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


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



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

          $ vim scp://[email protected]/info.txt
          操作示例

          輸入 q 退出文件。

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

          操作示例

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

          要從本地查看遠(yuǎn)程文件內(nèi)容是否真的改動(dòng)過用這一條命令:

          $ ssh [email protected] cat info.txt

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

          $ vim scp://[email protected]//home/cirdan/Documents/info.txt

          如果你已經(jīng)因?yàn)榘踩蚋淖兞薙SH端口,則應(yīng)當(dāng)顯式地說明SSH端口號,如下所示:

          $ vim scp://[email protected]:2200/info.txt

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

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

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


          在Vim會(huì)話里讀寫遠(yuǎn)程文件



          如果你已經(jīng)進(jìn)入了一個(gè) Vim 會(huì)話,則可以使用 Nread(NetRead)和 Nwrite(NetWrite)命令來讀寫遠(yuǎn)程文件。

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

          $ vim

          接著你就進(jìn)入了 Vim 會(huì)話,要在本地新緩存中的 Vim 會(huì)話中讀一個(gè)遠(yuǎn)程文件,只需要運(yùn)行如下命令:

          :e scp://[email protected]/info.txt

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

          :Nread scp://[email protected]/info.txt

          或者,這樣輸入:

          :Nread "scp://[email protected]/info.txt"

          操作示例

          想要知道這個(gè)命令的詳細(xì)信息,請?jiān)?Vim 會(huì)話中輸入如下命令:

          :Nread ?

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

          與之相似,要寫入遠(yuǎn)程文件也應(yīng)先使用如下命令:

          :e scp://[email protected]/info.txt

          i 鍵進(jìn)入插入模式就可以寫入和修改文件了。

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

          :w scp://[email protected]/info.txt

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

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

          :Nwrite scp://[email protected]/info.txt

          關(guān)于 Nwrite 命令的詳細(xì)信息,在Vim會(huì)話中輸入如下信息即可:

          :Nwrite ?

          希望這篇文章對各位有所助益。


          良許個(gè)人微信


          添加良許個(gè)人微信即送3套程序員必讀資料


          → 精選技術(shù)資料共享

          → 高手如云交流社群





          本公眾號全部博文已整理成一個(gè)目錄,請?jiān)诠娞柪锘貜?fù)「m」獲取!

          推薦閱讀:

          Linux重定向用法詳解

          為什么中國開發(fā)不出流行的操作系統(tǒng)和編程語言?

          杠上了,Linus 再次怒噴 Intel 直言“去死”


          5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費(fèi)獲取!!


          瀏覽 48
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  唐山熟女工棚嗷嗷叫 | 午夜久久久久久 | 猫咪AV成人永久网站在线观看 | 校园春色国产 | 东北骚妇大战黑人视频 |