題 通過GVFS'FTP保存時GVIM掛起


我喜歡Gnome的Nautilus和FTP集成,能夠將遠程FTP目錄掛載為常規書籤/目錄,並雙擊任何遠程文件以在任何未修改的程序中打開。我也喜歡用GVim編輯文本文件。

但是,如果我在Nautilus上雙擊文件以在Gvim中打開文本文件,則保存文件大約需要10秒鐘,GVim將掛起這段時間。主要的刺激因素是,當文本編輯器等待寫入完成時,我無法繼續編輯,這種延遲中斷了我的工作流程,思考過程和保存成為一個痛苦的過程。另一個問題是我不認為上傳文件應該花費那麼多時間。

我知道GVim的內部FTP支持,但它們與Nautilus的FTP沒有很好的集成,它也遇到了同樣的問題。

所以有幾個問題:

  1. 在我繼續編輯時,有沒有辦法讓GVim或GVFS在後台保存?
  2. 為什麼GVFS這麼慢?有沒有辦法將GVFS設置為使用單個持久FTP連接而不是每次都創建新的FTP連接?

我在Gentoo Linux x86-64上。


5
2018-05-08 15:09


起源


我在Kate和SFTP的Ubuntu上遇到了同樣的問題(至少看起來像是同一個問題)。 - user55325


答案:


不幸的是,我認為你不會找到解決方案,至少不容易。我的理解是它是虛擬文件系統的一個功能 - 它會阻止寫入,直到它們成功完成或失敗,以便可以準確地報告給應用程序。

我(像user55325)經歷過Kate和SFTP,以及其他一些應用程序,它似乎就是它的工作方式。

鑑於我的VPN工作速度很慢,我在家工作時不得不放棄編輯文件,我不得不求助於大型項目的rsync。


0
2018-06-29 00:21





一個假設你已經打折了 netrw插件 (至少在Debian和Ubuntu上)與Vim運行時一起分發。這似乎是正確的做事方式,除非您因某些原因需要文件看起來像本地文件。

如果要將遠程文件視為本地文件,那麼使用比gvfs更可配置的VFS系統可能會更好。例如,你可能會考慮 curlftpfs 要么 動靜脈瘺 FUSE模塊。前者肯定允許在連接超時時重新連接,並且記錄得非常好。

這聽起來像你的問題是因為gVim認為你的文件不是本地文件,並且當I / O被阻塞等待FTP連接打開時它是正確的。使用維護持久連接的FUSE掛載或正確使用netrw插件,應該為您解決這些問題。

 阻止寫入失敗的應用程序。軟安裝只應用於只讀數據,因此即使Vim提供了這樣的行為,依靠它也不是一個好主意。


0
2018-04-20 16:47



正如我寫的: I'm aware of GVim's internal FTP support, but they are not as well integrated as Nautilus's FTP and **it suffers from the same problem**. 另外,我認為寫作時阻塞總是令人滿意的;例如,Coda for Mac OSX允許您在後台上傳文件時繼續編輯文件;有一個微調器通知您保存仍在進行中,因此您知道何時檢查結果(對於我編輯PHP文件的用例,我需要在瀏覽器上檢查結果)。 - Lie Ryan