テーマを維持するには、新しい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テーマへの依存関係)を初期化するときにスクリプトを実行すると、デフォルトの色.bashrcnvim実行されます(依存関係がロードされず、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"

関連情報