테마를 유지하려면 새 urxvt 창에서 vim을 실행하세요.

테마를 유지하려면 새 urxvt 창에서 vim을 실행하세요.

nvim(대신 ) 별도의 터미널 창에서 실행할 간단한 스크립트를 만들고 싶습니다 gvim(저는 urxvt용어를 사용하고 있습니다). 현재 나는 다음을 가지고 있습니다:

#!/usr/bin/env bash

exec urxvt -hold -e "vim"

합법적이고 작동하지만 문제는 터미널을 열 때 vim 테마가 로드되지 않는다는 것입니다( .bashrc읽어지지 않거나 다른 이상한 문제 때문일 수도 있습니다).16 베이스 쉘).

플러그인이 로드됩니다. 이는 nvim의 초기화 파일이 로드된다는 의미입니다. 나는 다음과 같은 것을하려고 노력합니다.

exec urxvt -hold -e "source <absolute_path>/.bashrc; vim"

강제로 base16-shell에서 터미널 테마(vim의 종속성일 수 있음)를 로드했지만 여전히 작동하지 않습니다.

뭔가 빠진 것 같은 느낌이 들지만 제대로 할 수는 없습니다. 이 스크립트를 작동시키는 방법은 무엇입니까?

답변1

좋아요, 그래서 문제를 해결했습니다. -e플래그는 실제로 시작하지 않고 명령을 실행하는 것으로 나타났습니다.인터렉티브.bashrcbash shell 이는 bash가 시작 시 읽지 않음을 의미합니다.

base16-shell터미널 테마(실제로 vim의 base16 테마에 대한 종속성)를 초기화할 때 스크립트를 실행 .bashrc하면 nvim기본 색상으로 실행됩니다(종속성이 로드되지 않고 base16-vim이 제대로 초기화되지 않기 때문입니다).

따라서 해결책은 bash명시적으로 대화형 셸을 시작하여 .bashrcbase16 테마를 읽고 로드하는 것이었고 그 후에만 가능했습니다 nvim(내 경우에는 별칭 vim).

전체 스크립트는 다음과 같습니다.

#!/usr/bin/env bash

# -hold urxvt option is not needed as vim stays running
# -i bash option to run interactively
exec urxvt -e bash -i -c "vim"

관련 정보