편집을 마칠 때마다 source ~/.bashrc를 실행하도록 bash 및/또는 vim을 구성하세요.

편집을 마칠 때마다 source ~/.bashrc를 실행하도록 bash 및/또는 vim을 구성하세요.

source ~/.bashrc파일 편집을 마칠 때마다 (즉, 명령 실행 vim후 ) 이를 실행하고 싶습니다 .:wq vim

vim이런 방식으로 구성 하거나 bash작동하게 하려면 어떻게 해야 합니까 ?

답변1

파일을 작성한 후 vim이 명령을 실행할 수 있게 해주는 후크가 있습니다. 예를 들어, 저장 후 vim의 rc 파일을 자동으로 다시 로드하기 위해 여기에서 이를 사용하고 있습니다.

autocmd BufWritePost $MYVIMRC source $MYVIMRC

불행하게도 이것은 당신이 하고 싶은 일에 전혀 도움이 되지 않습니다. 이는 실행 중인 명령이 vim 프로세스의 하위 프로세스로 실행되기 때문입니다. 그곳에서 무엇을 하든 부모 환경은 영향을 받지 않습니다.

실제로 필요한 것은 쉘 수준의 것입니다. 먼저 당신이 무엇을 하고 있는지 살펴보세요:

vim  ~/.bashrc
source ~/.bashrc

그러나 실제로는 첫 번째 작업이 성공한 경우에만 후자만 필요합니다.

vim ~/.bashrc && source $_

이제 더 쉽게 입력할 수 있는 편리한 명령만 있으면 됩니다.

function vbrc () {
    vim ~/.bashrc && source $_
}

이제 bashrc 파일을 편집하려면 실행 vbrc하면 편집이 완료되면 파일이 선택됩니다.

bashrc 변경 사항을 테스트하는 또 다른 편리한 방법은 vim에서 셸을 하위 프로세스로 실행하는 것입니다. 이렇게 하면 셸에 저장된 변경 사항을 빠르게 테스트할 수 있습니다. 쉘을 종료하면 파일을 다시 편집하게 됩니다.

:!bash

파일을 저장할 때마다 라이브 셸 내부에서 결과를 확인하도록 강제로 저장 후크에 연결할 수도 있습니다. 분명히 이것은 rc를 적극적으로 개발하는 경우에만 유용하므로 vimrc가 아닌 수동으로 활성화해야 할 수도 있습니다.

autocmd BufWritePost ~/.bashrc !bash

답변2

간단한 접근 방식:

vim ~/.bashrc && source $_

별칭을 만들 수 있습니다.

alias vimbashrc='vim ~/.bashrc && source $_'

이는 bash또는 에서 작동합니다 zsh. 다른 셸에서는 .bashrc이것이 작동하려면 소스 이름을 명시적으로 지정 해야 합니다 .

alias vimbashrc='vim ~/.bashrc && source ~/.bashrc'

관련 정보