在新的 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

好的,所以我解決了這個問題。事實證明,-eflag 運行一個命令而沒有實際啟動互動的.bashrcbash shell 這表示 bash在啟動時不會讀取。

base16-shell初始化終端主題(這實際上是 vim 的 base16 主題的依賴項)時,從 a 運行腳本.bashrc最終nvim會以預設顏色啟動(因為依賴項未加載,且 base16-vim 無法正確初始化)。

因此,解決方案是bash明確啟動互動式 shell 來讀取.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"

相關內容