2012-03-19 116 views
1

這是很難被1或2個字來描述所以在這裏,我會以用例:有沒有辦法在Vim中進行「虛擬」編輯?

  1. 用戶A創建充當可填寫表格的文本文件/清單
  2. 用戶A的文件保存到共享庫
  3. 用戶B和用戶C打開該文件,並填寫表格/清單,因爲他們做他們的工作
  4. 更改場(理想)或整個文件被忽略,如果意外保存的文件

注意:UserB和UserC可能有時也需要對文本文件進行結構更改,因此禁止它們在文件系統/文件共享級別寫入/修改訪問權限不是選項。當需要進行結構編輯時(例如,用戶使用vim的特殊標誌打開文件或在打開文件後按下「解鎖」鍵序列),它必須是有意識的決定。

+0

有一段時間我以爲你在描述類似[1968年的這個演示](http://sloan.stanford.edu/mousesite/1968Demo.html)。 – 2012-03-19 04:33:41

+1

CVS,SVN或Git等版本控制系統可能適用於這種情況。也可以嘗試Gobby,一個協作編輯軟件。 – wks 2012-03-19 05:02:37

+3

這對我來說似乎並不特別適合「純文本編輯器」的工作。你應該爲它製作或使用專門的工具。 – 2012-03-19 06:39:20

回答

1

您描述的工作流程表明UserB和UserC實際上並不需要保存該文件(除非他們正在進行結構編輯),他們通常只需要將其打開即可,因此他們可以在完成時標記快速行項目。 (如果他們實際上確實需要保存他們的編輯內容,則需要在用例中提供更多詳細信息,然後我同意評論者的意見,無論如何您需要更強大的解決方案。)

最簡單方法是在文件系統中將文件標記爲只讀文件。在Windows上,您可以使用attrib +r filename.txt執行此操作。我忘記在Unix風格的系統中是否有等價的屬性,或者你是否必須完全刪除寫權限。

當UserB或UserC需要保存更改以進行結構編輯時,它們會執行:w!而不是通常的:w來保存文件。這迫使vim忽略readonly屬性並保存文件。

相關問題