質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

解決済

1回答

7474閲覧

vimdiffの色について

dlrowolleh

総合スコア120

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

0グッド

0クリップ

投稿2016/12/21 14:26

編集2016/12/23 15:09

###前提・実現したいこと
ソースコードの差分を一目で判るようにしたいと思い、vimdiffを使っています。
vim diffの色が目に優しく無い件 - komamitsu.log
VimLで色指定する数値の一覧 | Inhale n' Exhale
を参考に
自分でも差分確認をしやすいように設定しようとしたのですが、

値を8以上にすると、

色がつかなくなっています。
(0は黒で文字が読めない、1〜7は目が痛い...)

vimdiff 色 bash プロファイル

等で検索しても良い情報が得られませんでした。
システムのテーマ色が原因ではないかと考えているのですが、原因の解決策が見つかりませんでした。
解決方法をご存知の方がいらっしゃいましたらご教授いただけないでしょうか。

###試したこと
gnome-terminal周辺のプロファイル?設定?あたりに心当たりがあります。
以前、gnome-terminalのプロファイル?をUbuntuTewak(?覚えていません...)で弄って、テーマをインポートした記憶があります。

[編集(E)]→[プロファイルの設定(O)]→[色]→前景、背景、および下線→システムのテーマ色を使用する(U)のチェックボックスにチェックを入れている
[編集(E)]→[プロファイルの設定(O)]→[色]→パレット→XTem

の状態だとそもそも端末に表示されている文字が読みにくいので、

[編集(E)]→[プロファイルの設定(O)]→[色]→前景、背景、および下線→システムのテーマ色を使用する(U)のチェックボックスにチェックを外す
[編集(E)]→[プロファイルの設定(O)]→[色]→パレット→XTem

の状態で使っています。
どちらも

ctermbg

の値を7以上にしても色がつきません。

  • システムのテーマ色をデフォルトに戻す
  • ターミナルの設定ファイルなどを探して適切な値に編集する

等のことができれば解決できるのではないかと思いました。
しかし、システムのテーマ色をデフォルトに戻す方法、やりかた、手段、術が分かりませんでした。

###該当のソースコード

vi /usr/share/vim/vimrc

hi DiffAdd ctermfg=black ctermbg=100 hi DiffChange ctermfg=black ctermbg=247 hi DiffDelete ctermfg=black ctermbg=3 hi DiffText ctermfg=black ctermbg=7 set diffopt=iwhite

となっています。
###発生している問題・エラーメッセージ

エラーメッセージは特にありません、

###補足情報(言語/FW/ツール等のバージョンなど)
Ubntu14.04
bash
gnome-terminal
です。
情報が不足していれば補足します。

何卒よろしくお願いします。

###追記
以前
CompizConfig Settings Maneger

Ubuntu Tweak
あたりで外観の設定等を行った記憶があります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

同じような環境で動作確認してみましたが、ちゃんと色つきましたよ!?
そもそも設定されている値が白や黒だからではなくてですか??
※7と247は白黒です
たとえば全部9にしてみたら真っ赤になりませんか?

hi DiffAdd ctermfg=black ctermbg=9 hi DiffChange ctermfg=black ctermbg=9 hi DiffDelete ctermfg=black ctermbg=9 hi DiffText ctermfg=black ctermbg=9

(追記)
うーん、原因わかりませんが、256色でず、8色しか使えていないみたいですね。

  • 質問に載っている「VimLで色指定する数値の一覧」をやると256色正しく表示されるのでしょうか?
  • vimdiffではなく、普通のvimでは色は付くのでしょうか?
  • $ echo $TERMコマンドを実行するとなんて表示されますか?(参考)

※試しに$ export TERM="xterm-256color"を実行してからvimdiffしてみてください

  • .vimrcにset t_Co=256を追加してみてください(参考

投稿2016/12/23 09:01

編集2016/12/23 22:33
popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dlrowolleh

2016/12/23 15:08

ご回答いただきありがとうございます。 > hi DiffAdd ctermfg=black ctermbg=9 hi DiffChange ctermfg=black ctermbg=9 hi DiffDelete ctermfg=black ctermbg=9 hi DiffText ctermfg=black ctermbg=9 で vimdiff a.txt b.txt と試してみたところ、 真っ赤にはならず、真っ黒になっていました。 以前 CompizConfig Settings Maneger か Ubuntu Tweak あたりで外観の設定等を行った記憶があります。(vimdiffの色とは直接関係ない...?)
popobot

2016/12/23 22:32 編集

あまり関係ない気もしますが、正直わかりません... 回答欄に改善する可能性がある設定等を列挙してみたのでやってみてください。
dlrowolleh

2016/12/24 05:26

コメントいただきありがとうございます。 解決しました! >質問に載っている「VimLで色指定する数値の一覧」をやると256色正しく表示されるのでしょうか? 256色表示されました。 >vimdiffではなく、普通のvimでは色は付くのでしょうか? set syntaxで設定した時の色で色が付いていました。 >$ echo $TERMコマンドを実行するとなんて表示されますか? xterm と表示しました。 >$ export TERM="xterm-256color"を実行してからvimdiffしてみてください 真っ赤になりました。 >.vimrcにset t_Co=256を追加してみてください 解決しました!! CompizConfig Settings Maneger Ubuntu Tweak は関係無かったようです。 どうやら set t_Co=256を書いていなかったのが原因だったようです。 無事解決しました。 ありがとうございました!!!!
popobot

2016/12/24 06:11

うまくいってよかったです。どうやらvim側の設定がおかしかったみたいですね。 なぜ t_Coが256になっていないのかはちょっとわかりませんが、.vimrcに設定しておけばいいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問