Unix 在w!上执行自动p4编辑命令!论维姆

Unix 在w!上执行自动p4编辑命令!论维姆,unix,vim,perforce,perforce-client-spec,Unix,Vim,Perforce,Perforce Client Spec,目前,我的团队在perforce中面临一些问题,他们通常在gvim中更改文件并关闭该文件,而不对该文件进行p4编辑,因此在提交时,某些更改不会反映在服务器上,这会导致相同的大故障,因此,您能告诉我当我发出命令w!在vim中,系统将检查它是否在Performce server内,然后自动执行p4编辑,然后编辑文件 谢谢我将vim与Perforce一起使用,我对它非常满意。每次我编辑文件时,插件都会提示我(默认情况下,P4工作区中的文件是只读的),并询问我是否要签出(P4 edit)该文件。因此,我

目前,我的团队在perforce中面临一些问题,他们通常在gvim中更改文件并关闭该文件,而不对该文件进行p4编辑,因此在提交时,某些更改不会反映在服务器上,这会导致相同的大故障,因此,您能告诉我当我发出命令w!在vim中,系统将检查它是否在Performce server内,然后自动执行p4编辑,然后编辑文件


谢谢

我将vim与Perforce一起使用,我对它非常满意。每次我编辑文件时,插件都会提示我(默认情况下,P4工作区中的文件是只读的),并询问我是否要签出(
P4 edit
)该文件。因此,我接触的每个文件都会出现在我的默认更改列表中


当然,这个插件可以做得更多<代码> P4提交,<代码> P4添加< /代码>,无论什么。

< P>您也可以考虑使用“P4调和”代替“P4编辑”。 此命令将查找工作区中已更改的文件,并打开它们以进行移动、添加、编辑、删除等操作

更多信息位于此处:

希望这有帮助, 珍

以下是我的工作:

function P4Checkout()
    call system("p4 edit " . expand("%:p"))
    if v:shell_error == 0
        echom "File " . expand("%:p") . " opened for edit"
        set noreadonly
    endif
endfunction

augroup p4
    autocmd!
    autocmd FileChangedRO * call P4Checkout()
    autocmd BufWritePre * :if &readonly | call P4Checkout()
augroup END
每当只读文件第一次被修改(因此无需先保存)或被强制写入磁盘(使用w!)时,就会调用shell上的“p4 edit”

正如您可能看到的,只有当p4 edit实际上可以从当前工作目录中的vim内部运行时,这才起作用。此外,p4环境可能需要对从事不同回购/流等工作的人员进行调整

希望有帮助。

试试这个,

当您尝试使用(w!)编辑和保存文件时,它将弹出一个提示,询问它是否用于vim中的p4编辑

例如: :w! 文件是只读的。试图在Perforce中打开?
[Y] es,(N)o:

虽然这可以从理论上回答问题,但在此处包含答案的基本部分,并提供链接供参考。