有没有一种方法可以让你;虚拟的;在Vim中编辑?

有没有一种方法可以让你;虚拟的;在Vim中编辑?,vim,editor,text-editor,Vim,Editor,Text Editor,很难用一两个词来描述,因此我将在这里给出一个用例: UserA创建一个文本文件,用作可填写的表单/检查表 UserA将文件保存到共享存储库中 UserB和UserC在工作时打开文件并填写表格/检查表 如果文件意外保存,则会忽略对字段(理想情况下)或整个文件的更改 注意:UserB和UserC有时也需要对文本文件进行结构更改,因此禁止它们在文件系统/文件共享级别进行写/修改访问不是一个选项。当需要进行结构编辑时,这必须是一个有意识的决定(例如,用户打开带有vim特殊标志的文件,或在打开文件后按“解

很难用一两个词来描述,因此我将在这里给出一个用例:

  • UserA创建一个文本文件,用作可填写的表单/检查表
  • UserA将文件保存到共享存储库中
  • UserB和UserC在工作时打开文件并填写表格/检查表
  • 如果文件意外保存,则会忽略对字段(理想情况下)或整个文件的更改

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

    您描述的工作流表明,用户B和用户C实际上不需要保存文件(除非他们正在进行结构编辑),他们通常只需要打开它,这样他们就可以在完成项目时标记快行项目。(如果他们确实需要保存他们的编辑,您需要在用例中提供更多的细节,然后我同意评论员的意见,您需要一个更健壮的解决方案。)

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


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

    您描述的工作流表明,UserB和UserC实际上不需要保存文件(除非他们正在进行结构编辑),他们通常只需要打开文件,以便在完成文件时标记快行项目。(如果他们确实需要保存他们的编辑,您需要在用例中提供更多的细节,然后我同意评论员的意见,您需要一个更健壮的解决方案。)

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


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

    有一段时间,我以为您描述的是类似的内容。在这种情况下,CVS、SVN或Git等修订控制系统可能会起作用。还可以试试Gobby,一个协作编辑软件。在我看来,这并不特别适合“纯文本编辑器”的工作。你应该为它制作或使用一个专门的工具。我同意上面的评论,我们已经使用Git来跟踪那些结构编辑。为什么这个问题与Vim有关,是因为我们的工作几乎都是通过ssh在远程服务器上完成的,Vim是最常用的工具。有一刻,我以为你在描述类似的东西。在这种情况下,CVS、SVN或Git等修订控制系统可以工作。还可以试试Gobby,一个协作编辑软件。在我看来,这并不特别适合“纯文本编辑器”的工作。你应该为它制作或使用一个专门的工具。我同意上面的评论,我们已经使用Git来跟踪那些结构编辑。为什么这个问题与Vim有关,是因为我们的工作几乎都是通过ssh在远程服务器上完成的,Vim是最常用的工具。