背景:Arcolinuxインストールを設定しています。アジャイルを開始するには、キーボードショートカットSUPER + Enterがあります。
私が望むのは、alacrittyに新しいtmuxセッションを自動的に作成して開始させることです(まだ接続されているセッションがない場合)。または、何も追加されていない場合は、既存のtmuxセッションに追加されます。
alacritty.ymlに以下を追加してこれを達成しました。
shell:
program: /usr/bin/bash
args:
- -l
- -c
- "tmux ls | grep -v attached && tmux attach || tmux"
これらすべては私が望む方法で正確に動作します。 1つを除いて、このアプローチを使用するとnvimの色がめちゃくちゃになります(暗いので、視覚モードは背景と同じ強調色を持ちます。迷惑です)。
いくつかの関連する質問を見つけて解決策を試しました。たとえば、私のtmux設定には次のものがあります(および2つのライナーを含む他のバリエーション)。
set -ag terminal-overrides ",xterm-256color:RGB"
TERM変数がに設定されていることを確認し、xterm-256color
nvimで背景を「暗」に設定してみました。
上記の設定を使用してalacrittyに接続されているtmuxセッションでnvimを起動すると、どちらも役に立たないようです。
しかし、alacritty設定を削除してコマンドを実行してtmuxに手動で接続すると、すべてが正常に機能し、nvimが期待どおりに見えます。
/usr/bin/bash -l -c "tmux ls | grep -v attached && tmux attach || tmux"
alacritty設定から起動すると、なぜ他の結果が出るのかがわかります。
参考までに、私がこれを行う理由の1つは、SUPER + Enterのバインディング設定がどこにあるのかわからず、どの設定ファイルや設定にも見つからないことです(追跡するより良い方法はあります)。それで、これも役に立つと思いました。
答え1
これが他の人に役立つことを願っています:
問題を解決しましたが、まだ少し混乱しています。 nvimで実行すると、:checkhealth
TERM変数に問題があることが確認されます。 TERMがtmux-256color
次の警告に設定されていることが報告されました。
警告 Tc と RGB の両方の機能が設定されていません。 True Colorが無効になっています。 |'termguicolors'| が正しく機能しません。
混乱する部分は、用語をすばやく設定できることです。ただし、文書には次のように記載されています。
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
実行したときにecho $TERM
返されたxterm-256color
ままになりましたが、回避策はalacritty設定で次のようにTERMを明示的に設定することでしたxterm-256color
。
env:
TERM: "xterm-256color"
このエントリもtmux設定に設定する必要があります(ただしすでに設定されています)。
set -ag terminal-overrides ",xterm-256color:RGB"