2014-06-23 13 views
0

내 .vimrc에 autocmd BufEnter * silent! lcd %:p:h이 있으므로 현재 버퍼의 pwd가 항상 올바르게 설정됩니다. 유감 스럽지만 mksession은 세션을 제대로 저장하지 않으므로저장된 세션에 autocmd가 영향을 미치지 않는 방법은 무엇입니까?

세션을 저장하는 더 좋은 방법이 있습니까? 아니면이 두 기능을 함께 사용하는 방법이 있습니까? :noautocmd mksession session1으로 일시적으로 autocmd를 비활성화하는 것은 효과가없는 것 같습니다.

+1

"세션을 제대로 저장하지 못합니다"는 정확히 무슨 뜻입니까? 나는 세션 파일이 아직 작성된 것 같지만 세션로드 중에 몇 가지 문제가 발생합니까?! –

+0

세션이 모든 버퍼의 경로를 저장하면 모든 세션이 pwd에 있다고 가정합니다. 내 .vimrc를로드하지 않고 손상된 세션을로드하므로 autocmd가 없으므로이를 확인합니다. –

답변

3
:set autochdir 

은 autocmd와 동일하게 작동하며 내장되어 있습니다. 저는 저 자신을 사용하고 있으며 세션에 문제가 발생하지 않았습니다. 물론 고정 된 디렉토리를 기반으로하는 사용자 정의 :Mksession 명령을 정의 할 수 있지만 세션이 저장된 디렉토리를 현재 파일과 관련하여 지정해야합니다. :help에서

+0

내 vim을 업데이트해야 해당 기능을 사용할 수 있지만 완벽하게 작동합니다. –

1

:

     *SessionLoad-variable* 
While the session file is loading the SessionLoad global variable is set to 1. 
Plugins can use this to postpone some work until the SessionLoadPost event is 
triggered. 

당신은 g:SessionLoad이 존재하고 1

로 설정되어 있으면 아무것도하지 않는 당신의 autocmd을 수정하려고 할 수 있습니다하지만 set autochdir를 사용하여, 잉고의 솔루션을 생각은 더 좋습니다.