":so~/.vimrc"를 입력할 때까지 ~/.vimrc가 효과가 없는 이유는 무엇입니까?

":so~/.vimrc"를 입력할 때까지 ~/.vimrc가 효과가 없는 이유는 무엇입니까?

탭 크기만 변경하고 싶습니다. 파일이 :scriptnames에 표시되고 vim을 열 때마다 실행되는 에코를 포함했기 때문에 파일이 로드되고 있다는 것을 알고 있습니다. vim 시작 시 ~/.vimrc가 자동으로 작동하지 않는 이유는 무엇입니까?

최신 버전의 Ubuntu를 실행하고 있습니다.

~/.vimrc의 내용:

map <C-t><up> :tabr<cr>

map <C-t><down> :tabl<cr>

map <C-t><left> :tabp<cr>

map <C-t><right> :tabn<cr>

set tabstop=4
set shiftwidth=4
echo "LOADED"

답변1

기본적으로 저장된 세션에는 모든 전역 구성 값과 매핑도 저장됩니다. 따라서 ~/.vimrc세션을 로드한 후 변경 사항을 명시적으로 소싱하거나 세션을 다시 생성/편집해야 합니다.

옵션을 변경하지 않고 즉시 매핑을 정의하는 경우( ~/.vimrc플러그인을 통해서만) 이를 저장된 세션에 포함할 필요가 없습니다. 다음을 통해 이 기능을 끌 수 있습니다:

:set sessionoptions-=options

좋은 부작용으로 저장된 세션의 크기가 훨씬 작아집니다.

관련 정보