2009-03-05 20 views
5

我目前在遠程登錄窗口中使用vim編輯代碼(非常老派!)。有很多源代碼(主要是C),所以我使用標籤,cscope等來解決。儘管如此,網絡延遲可以使每一次擊鍵都變得「滯後」,這並不是那麼好!通過網絡有效使用gvim

我想用我的gvim的Windows PC(或可建立這樣做任何編輯器),以對:

  1. 編輯文件遠程通過FTP(GVIM已經可以做到這一點)
  2. 使用存儲在本地或服務器上的TAGS文件(可能在服務器上使用一個更有效,然後我不必每個文件都FTP下載)。我想生成的文件,然後FTP到我的本地機器上的適當位置就可以了。
  3. 運行shell命令就好像我在服務器上的文件目錄(make,各種腳本等)。我有ssh訪問機器,所以我不認爲這會是一個問題。

我對vimscript有點熟悉,所以我不介意做一點粘合。我認爲我不能成爲唯一一個想要這樣做的人 - 因此在這裏問。

就像我說的 - 如果有任何體面的編輯器有這個「內置」,那麼我不介意切換!

回答

6

您也可以使用SSH通過vim遠程編輯文件。

:e scp://remote.host.com/project/file 

然後使用SSH調用使遠程:

:!ssh remote.host.com '(cd project; make)' 

CTAGS

爲了遠程使用CTAGS,我將遠程創建標籤文件,複製它到本地機器並添加scp://remote.host.com/project/到t中的每個文件名他標記文件。你可以用

:%s#^\(\w\+\)\t#\1\tscp://remote.host.com/project/# 

這樣的標籤文件來做到這一點。 然後,在使用':set tags = local_ctags/tags'來引用標籤文件的本地(修改)版本時,在使用遠程文件時。

2

'tags'選項告訴Vim在哪裏尋找TAGS文件,但我不確定Vim是否允許在此選項中使用ftp://或scp://路徑。

可以使用:!ssh ...

運行在服務器上的命令,但你不認爲這將是最好使用源代碼控制系統之一,與工作在本地的文件,然後把服務器上更新的文件?

2

如何安裝遠程目錄localy?您可以將其導出爲SMB共享,​​NFS安裝,或者有幾種可用於Windows的SSH文件系統(sshfs)。

+0

這是一個不錯的主意 - 唯一的缺點是我想在服務器上運行程序,而不是在本地機器上運行,所以某些ssh黑客可能是必需的。 – 2009-03-06 14:35:38