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
플래그는 실제로 시작하지 않고 명령을 실행하는 것으로 나타났습니다.인터렉티브.bashrc
bash shell 이는 bash가 시작 시 읽지 않음을 의미합니다.
base16-shell
터미널 테마(실제로 vim의 base16 테마에 대한 종속성)를 초기화할 때 스크립트를 실행 .bashrc
하면 nvim
기본 색상으로 실행됩니다(종속성이 로드되지 않고 base16-vim이 제대로 초기화되지 않기 때문입니다).
따라서 해결책은 bash
명시적으로 대화형 셸을 시작하여 .bashrc
base16 테마를 읽고 로드하는 것이었고 그 후에만 가능했습니다 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"