2017-03-13 27 views
1

如果我從外部源讀取緩衝區,則沒有與當前緩衝區關聯的文件名。這很好,但如果不是將它寫入磁盤上的文件,而是想將它發佈到web服務上呢?當我嘗試寫入緩衝區時,如何更改vim的功能?

我可以以某種方式掛鉤到:w所做的事情,並根據文件類型更改如何它寫入緩衝區?

在這種情況下,使用REST API在我們的CMS上獲取pesudo文件的內容相當簡單;但現在我想要一種方法將PUT請求發送回API,而不是將其寫入磁盤。

理想情況下,該解決方案將掛鉤到可能的最低級別,以便:up:x也具有預期的效果。

+0

使用其他命令發佈請求不是更好嗎?這比改變內置函數更好。 –

+0

我也認爲最好創建一個新的命令來嘗試這個。此行爲不應與「寫入文件」相關聯,因爲您顯然不想寫入文件。 – rgoliveira

+0

@rgoliveira但我想要一個我的肌肉記憶和我正在編輯的東西之間的透明接口。我不擔心我沒有*技術上*寫文件;就我和我的肌肉記憶而言,':w'表示保存,而不是寫入。 – Altreus

回答

2

您可以使用BufWriteCmd自動命令。你從這個命令調用的函數的期望是它會'寫'(在你的情況下,將API調用發送給某個服務),然後更新'modified'標誌來指示文件已被保存(通常修改會在第一時間是真實的,但是當您的功能成功發佈到服務時,您的功能會最終設置爲false)