ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: community@lists.altlinux.org
Subject: Re: [Comm] vim в xterm сбрасывает  colorscheme
Date: Sat, 26 Feb 2011 00:55:46 +0300
Message-ID: <20110225215546.GA7371@atlas.home> (raw)
In-Reply-To: <AANLkTikJVTOxG8kibMGiYpBrVrUOJJHha3ka3DR0KR9C@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2275 bytes --]

On Fri, Feb 25, 2011 at 03:53:32PM +0100, vx 8400 wrote:
> Как заставить vim не сбрасывать colorscheme при работе в xterm на
> текущем Sisyphus?
> 
> После запуска vim (vim-console-7.3.112-alt1) в xterm (xterm-269-alt1)
> colorscheme устанавливается в соответствии с ~/.vimrc (прилагается):
> 
>    http://sites.google.com/site/strgko/vim/do.png
> 
> После перемещения курсора (стрелка вниз/вправо/..., поиск, и т.д.)
> vim меняет colorscheme:
> 
>  http://sites.google.com/site/strgko/vim/posle.png
> 
> Цвета меняются не на схему по умолчанию, а на более яркие.

Вообще-то с приложенным .vimrc они меняются на цвета из схемы zellner.
Комбинация colorscheme с ручным заданием hi в .vimrc работает
неустойчиво - лучше сделать полноценную схему и положить в
~/.vim/colors/.

> Эффект сохраняется при TERM=xterm, xterm-color, при любых
> установках XTerm*color*.

На самом деле сейчас надо пробовать TERM=xterm-256color (или
XTerm*termName: xterm-256color).  Дело в том, что некоторое время
назад без объявления в changelog пакета в xterm была включена
поддержка 256 цветов:

http://git.altlinux.org/gears/x/xterm.git?p=xterm.git;a=blobdiff;f=xterm.spec;h=14c938565fa058e6cc0db9b77c16a15f421b2641;hp=6d6e940a4a4b321784138c8f8b9fbc87d5e85116;hb=e6b779655dabed6b3fb2b76f735426a43b79fe6e;hpb=0f2ffa1f99e6388d298fdbd617f5c896d49cef36

(там ещё и опечатка в соседней опции).

При этом vim при работе с xterm пытается определить реальные
возможности терминала путём обмена с ним управляющими
последовательностями, однако, похоже, в текущей версии это срабатывает
только после обновления экрана.  При этом меняется значение параметра
t_Co, что вызывает перезагрузку цветовой схемы (в результате заданные
вручную настройки hi теряются).  А при переключении с 8 на 16 или 256
цветов добавляется поддержка как минимум "ярких" цветов для фона, в
результате ctermbg=yellow начинает выдавать именно запрошенный цвет.

Если хочется привести цветовую схему к 16 стандартным цветам даже при
использовании терминала с поддержкой 88 или 256 цветов, как минимум
цвета 8 (DarkGray) и 3 (Brown, DarkYellow) нужно указывать числами, а
не именами, поскольку для этих имён при t_Co > 16 выбираются другие
номера цветов (таблица :help cterm-colors врёт).

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2011-02-25 21:55 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-25 14:53 vx 8400
2011-02-25 21:55 ` Sergey Vlasov [this message]
2011-02-26 15:15   ` vx 8400
2011-02-26 15:29     ` vx 8400
2011-02-27  0:43       ` vx 8400
2011-02-26 10:57 ` Kirill A. Shutemov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110225215546.GA7371@atlas.home \
    --to=vsu@altlinux.ru \
    --cc=community@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git