Vim 在 tmux 中顯示錯誤的顏色

Vim 在 tmux 中顯示錯誤的顏色

我安裝的是Ubuntu 11.10。然後下載 Gnome 終端的 Solarized 主題。從終端來看,我的 vim 看起來不錯:插件 vim-powerline 顯示正確,語法以正確的顏色突出顯示。但是當我運行 tmux 並運行 vim 時 - 語法突出顯示僅使用一種基本顏色,而 vim-powerline 不顯示任何顏色。我查看了 vim-powerline 上的常見問題解答,解決方案應該是 .tmux-config 中的這一行:

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

但這不起作用。我查看了 TERM,它返回“xterm”,所以我嘗試了:

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

但這也無濟於事。

這是 .tmux.config 中唯一的一行。在 .vimrc 中我有以下幾行:

call pathogen#infect()
set nocompatible
set encoding=utf-8
set laststatus=2
let g:Powerline_symbols = 'fancy'
set t_Co=256
syntax enable
set background=dark
colorsheme solarized

答案1

使用以下標誌啟動 tmux 可以解決這個問題:

tmux -2

來自 tmux 手冊頁:

-2 強制 tmux 假定終端支援 256 色。

答案2

這對我有用

.tmux.conf

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

.vimrc

set term=screen-256color

刪除 .vimrc 的舊術語值,相信我這會起作用

答案3

我在使用 Byobu 5.17 和 tmux 1.5(使用 GitHub 儲存庫中最新的 Solarized)的 Ubuntu 10.04 LTS 上遇到了同樣的問題。

我可以透過在文件$TERM中指定來部分修復此問題.bashrc

export TERM="xterm-256color"

似乎啟動板上也存在一個錯誤,但尚未解決: byobu 無法正確顯示顏色

答案4

應在 ~/.tmux.conf 中將終端類型設為 screen-256color。它告訴 tmux 如何設定 TERM 環境變量,因此它不適用於當前會話 - 啟動一個新會話然後進行測試。

如果仍然不起作用,您可以使用以下命令運行 Vim:

TERM=screen-256color vi

這只是為一次性 vi 執行設定環境變數。

如果這不能使 vim 顯示所有顏色,請測試您的終端(我不確定您是否僅使用一個終端模擬器進行測試)是否已編譯為支援 256 調色板 - 從以下位置下載並運行以下 Perl 腳本有問題的終端模擬器。

http://scie.nti.st/dist/256colors2.pl

附言。我想您已經糾正了喬丹布羅克注意到的拼字錯誤。

相關內容