새로운 urxvt 창 보존 테마의 Exec vim

새로운 urxvt 창 보존 테마의 Exec vim

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

#!/usr/bin/env bash

exec urxvt -hold -e "vim"

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

플러그인은 로드되지만 이는 nvim의 init 파일이 로드된다는 의미입니다. 나는 다음과 같은 것을하려고 노력했습니다.

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

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

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

답변1

좋아, 그래서 문제를 해결했습니다. -e플래그는 실제로 실행하지 않고 명령을 실행하는 것으로 나타났습니다.인터렉티브.bashrcbash 쉘은 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"

관련 정보