tmuxには構文の強調表示はありません


16

tmuxiTerm 2 にインストールしました(ビルド3.0.13)で実行するvimtmux、構文の強調表示は次のようになります。

構文の強調表示なし

ただし、tmuxの外では、構文の強調表示は問題ありません。

通常の構文強調表示

私の$TERM内側と外側のtmuxはxterm-256colorです。私も追加しました

set -g default-terminal "screen-256color"

.tmux.confこれを追加しました

set t_Co=256
set t_AB=m
set t_AF=m
if &term =~ '256color'
    set t_ut=
endif

.vimrc

また、tmux -2コマンドを試し、これらの質問を読みました。

tmuxモードでvimカラースキームを失う

Solarizedを使用したiTerm2のvimの色が正しくない

これは問題であるtmuxvimまたは私の設定?

編集:

私の.vimrcGitHubの骨子で

https://gist.github.com/sohnryang/3c63397f332f2e30c7d7b2a83c3c9f52


あなたとあなたのtmuxのを起動したときに何が起こるか-2のオプション:tmux -2。できれば、tmuxにセッションがない場合。
grodzik

を使用tmux -2しましたが、問題は同じです。
sohnryang

全体を共有してもらえます.vimrcか?
grodzik 16

1
@sohnryang「あなたはすべきではない」のどの部分が理解できないのですか
ムル16

1
次の手順に従ってください。たくさんのプラグインがあるので、そのうちの1つが干渉している可能性があります。
マーティントゥルノイ16

回答:


8

さて、私は自分で問題を解決しました。

@ Carpetsmoker♦がコメントしたように、私.vimrcは自分が問題だと疑い始めました。この質問を読み tmux内でこのコマンドを使用してvimを開始しました。

vim -u NONE -U NONE -N ~/.vimrc

上記のコマンドでvimを起動した後、vim内でこのコマンドを実行しました。

:syn on
:colorscheme solarized8_dark

これらは私の.vimrcファイルをハイライトしました。だから、私は私のデバッグを開始しました.vimrc

要するに、set termguicolors問題でした。でset termguicolorsコメントを付けてvimを実行すると.vimrc、tmuxで構文の強調表示が修正されます。


同じ問題がありました。termguicolorstmux に取り組むことは素晴らしいことです
-Filype

4

vimマニュアルから::h termguicolors読むことをお勧めします:h xterm-true-color

Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
and |t_8b| options explicitly.  [ ... these are]  only set [to some default] when `$TERM` is `xterm`.

次のような条件を使用します。

if &term =~# '256color' && ( &term =~# '^screen'  || &term =~# '^tmux' )
    let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
    let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
    set termguicolors
endif

3

私は実際にそれをうまく動作させましたtermguicolors。これは私がやったことです1.〜/ .bash_profileにこれを置きます:

export TERM=xterm-256color

そして、私の〜/ .vimrcの中にこれがありました

syntax enable
colorscheme Spacegray

set termguicolors

そしてそれは完全に機能しました!参照


セットtermguicolors:カラースキームSpacegray::上のシン
abbood
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.