임시.vimrc

임시.vimrc

.vimrc단일 SSH 세션에서만 파일을 읽는 방법이 있습니까 ? 즉, 로그인할 때 vim이 /tmp/myvimrc로그아웃할 때까지 say를 사용하도록 몇 가지 작업을 수행합니다.

현재 .vimrc를 영구적으로 덮어쓰고 싶지는 않습니다. 단지 로그인하는 동안 가끔씩 다른 설정 세트를 사용해야 할 뿐입니다.

답변1

당신은 그것을 사용할 수 있습니다VIMINIT 환경 변수.vimrc초기화 프로세스의 다른 부분을 유지하면서 일반적인 사용법을 재정의합니다 . VIMINIT는 하나 이상으로 설정되어야 합니다.전임자- 스타일 명령("콜론" 명령, 파이프( |)를 사용하여 여러 명령을 구분). 단지 다른 초기화 파일에 대한 경로가 아닙니다.

VIMINIT='so /tmp/myvimrc'; export VIMINIT

vim whatever # uses /tmp/myvimrc, not ~/.vimrc

사용과의 주요 차이점 -u은 VIMINIT가 여전히 다른 섹션을 허용한다는 것입니다.초기화 과정사용됩니다(예: system vimrc, evim.vim(해당되는 경우) 등).

답변2

/tmp/myvimrc내 이해가 정확하다면 다음 man vim을 사용하여 다음 설정으로 vim을 시작할 수 있습니다.

$ vim -u /tmp/myvimrc

따라서 나머지 세션 동안 이를 옵션으로 만들기 위해 함수를 만들고 이를 의 별칭으로 설정하겠습니다 vim. 그래서 나는 내 파일에 bash다음과 같은 것을 넣을 것입니다 :.bashrc

function vimswitch {
    alias vim='vim -u /tmp/myvimrc'
}

그런 다음 새로운 vim 설정을 원할 때 다음을 실행합니다.

$ vimswitch

/tmp재부팅 시 쉽게 지울 수 있으므로 myvimrc를 여기에 저장하지 않습니다 . 이 쉘이 아닌 다른 쉘을 사용하는 경우에도 bash여전히 작동하지만 구문이 약간 다를 수 있습니다.

답변3

ssh를 통해 로그인하면 ssh는 변수를 설정합니다 $SSH_CONNECTION. 이 변수를 확인 .bashrc하고 설정되어 있으면 원하는 별칭을 설정하세요.

if [ -n "$SSH_CONNECTION" ]
then
        alias vim='vim -u /tmp/myvimrc'
fi

관련 정보