【问题标题】:Is there a way to have "virtual" editing in Vim?有没有办法在 Vim 中进行“虚拟”编辑?
【发布时间】:2012-03-19 04:29:46
【问题描述】:

很难用一两个词来描述,所以这里我给出一个用例:

  1. UserA 创建一个文本文件,用作可填写的表单/清单
  2. UserA 将文件保存到共享存储库
  3. UserB 和 UserC 在工作时打开文件并填写表单/清单
  4. 如果文件意外保存,对字段(理想情况下)或整个文件的更改将被忽略

注意:有时用户 B 和用户 C 可能还需要对文本文件进行结构更改,因此禁止他们在文件系统/文件共享级别进行写入/修改访问不是一个选项。当需要进行结构编辑时(例如,用户打开带有特殊标志的文件以 vim 或在打开文件后按下“解锁”键序列),这必须是一个有意识的决定。

【问题讨论】:

  • 一时间我以为你在描述类似于this demo from 1968的东西。
  • CVS、SVN 或 Git 等修订控制系统可能适用于这种情况。也可以试试 Gobby,一个协作编辑软件。
  • 这在我看来并不是特别适合“纯文本编辑器”的工作。您应该为此制作或使用专门的工具。
  • 我同意上述 cmets 并且我们已经使用 Git 来跟踪这些结构编辑。为什么这个问题与 Vim 相关,因为我们的工作几乎都是通过 ssh 在远程服务器上完成的,而 vim 是最常用的工具。

标签: vim editor text-editor


【解决方案1】:

您描述的工作流程表明,UserB 和 UserC 实际上并不需要保存文件(除非他们正在进行结构编辑),他们通常只需要打开文件,以便他们可以在完成时将快速订单项标记为已完成。 (如果他们确实需要保存他们的编辑,您需要在您的用例中提供更多详细信息,然后无论如何我都会同意评论者的意见,即您需要一个更强大的解决方案。)

最简单的方法是在文件系统中将文件标记为只读。在 Windows 上,您可以使用 attrib +r filename.txt 执行此操作。我忘记了在 Unix 风格的系统中是否有等效的属性,或者您是否必须完全删除写权限。

当 UserB 或 UserC 需要保存更改以进行结构编辑时,他们会使用:w! 而不是通常的:w 来保存文件。这会强制 vim 忽略 readonly 属性并保存文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多