내 .gvimrc
파일 에서 다음 Vim 자동 명령을 사용하고 있습니다.
augroup MyAuGroup
autocmd MyAuGroup FileChangedShell * call FileChanedEvent_BuffUpdate()
augroup END
function FileChanedEvent_BuffUpdate()
let MyBn = bufname("%")
let MyStr = "Warning: File \"".MyBn."\" has changed since editing started\nSee \":help W11\" for more info."
let MyTest = confirm(MyStr, "&OK\n&Load File", 2, "W")
if MyTest == 2
edit
else
endif
endfunction
파일이 외부에서 변경 될 때 기본 gVim 동작을 대체하려는 의도입니다 ( 이 질문 참조 ). 그러나 여러 개의 창이 열리면서 여러 개의 버퍼가 표시되는 경우 edit
명령은 변경된 버퍼를 포함하는 창이 아니라 마지막 활성 창에서 작동합니다.
FileChangedShell
이벤트를 발생시킨 버퍼를 확인 edit
하고 해당 버퍼에 명령을 적용하려면 어떻게해야합니까?
@IngoKarkat의 답변에 감사드립니다. 대체 해결책을 찾았습니다. if
함수 의 블록을 다음으로 바꿉니다 .
if MyTest == 2
let v:fcs_choice = "reload"
else
let v:fcs_choice = ""
endif
이것은 트릭을 수행하는 것 같습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다