it-swarm-ko.tech

Vim에서 풀 컬러 지원을 어떻게 활성화합니까?

멋진 Vim colorscheme ( xoria256 )이 있고 GVim에서는 훌륭해 보이지만 터미널에서 일반 vim을 사용할 때 colorscheme은 부분적으로 만 지원됩니다 (예 : 기본 semi) -투명한 가지 배경색이 사용됩니다. 터미널에서 Vim 색상 구성표를 충실하게 렌더링하려면 어떻게해야합니까?

97
David Siegel

그놈 터미널은 256 색을 지원하지만 지원하지는 않습니다. 다음을 입력하여 vim의 자동 감지를 무시할 수 있습니다.

if $COLORTERM == 'gnome-terminal'
  set t_Co=256
endif

~/.vimrc에.

: GNU 화면을 사용하면 256 색 코드를 즐겁게 먹고 기본 16 색으로 변환합니다. 더 나은 수정 방법은 screen/vim을 시작하기 전에 TERM을 xterm-256color로 변경하는 것입니다.

2017 업데이트 : 최신 Vim (7.4.1799 이상) 및 충분히 고급 터미널 에뮬레이터 (Xterm 또는 충분히 최신 버전의 VTE를 기반으로하는 그놈 터미널)가있는 경우 :set termguicolors 및 터미널 vim은 highlight guifg=#rrggbb guibg=#rrggbb를 사용하여 vim 테마에 정의 된대로 완전한 24 비트 색상을 사용합니다.

78
Marius Gedminas

보다 일반적인 해결책은 "xterm-256color"라는 용어 유형을 설치하는 것입니다. 10.04에서는 기본적으로 설치되어 있다고 생각합니다. 이전에는 "ncurses-term"을 설치해야했습니다.

그런 다음 다음과 같이 .bashrc에 용어 유형을 설정하십시오.

if [ -n "$DISPLAY" -a "$TERM" == "xterm" ]; then
    export TERM=xterm-256color
fi

특정 프로그램에 대해 256 색 기능 만 사용하려면 (다른 일부와 혼동 될 수 있음) 대신 다음을 사용하십시오.

TERM=xterm-256color myprogram

아마도 프로그램의 별칭으로 설정했을 것입니다.

그런 다음 다음을 사용하여 터미널 색상 기능을 확인하십시오.

$ tput colors
256

Vim이 vim을 인식하도록하려면 위의 vim 설정이 여전히 필요할 수 있습니다. 대부분의 응용 프로그램은 256 색을 자동으로 인식합니다 (사용할 수있는 경우).

이맥스는 또한 256 가지 색상으로 훨씬 더 나은 색상 테마를 가지고 있습니다. 256 색 실행 가능한지 확인하려면 다음을 수행하십시오.

M-x list-colors-display

256colors.pl 터미널의 모든 색상을 표시하는 Perl 스크립트입니다.

44
Dave Jennings

아래 줄을 $HOME/.bashrc (바람직하게는 파일의 마지막 줄)에 포함 시키십시오.

export TERM="xterm-256color"

그리고 저장하십시오. 그런 다음, 그놈 터미널을 다시 시작하십시오. 이 변경 사항은 vim뿐만 아니라 모든 터미널 응용 프로그램에서 사용할 수 있습니다.

작동하는지 확인하려면이 작은 script 를 실행하십시오.

#!/usr/bin/env python
# Copyright (C) 2006 by Johannes Zellner, <[email protected]>
# modified by [email protected] to fit my output needs
# modified by [email protected] to fit my output needs

import sys
import os

def echo(msg):
    os.system('echo -n "' + str(msg) + '"')

def out(n):
    os.system("tput setab " + str(n) + "; echo -n " + ("\"% 4d\"" % n))
    os.system("tput setab 0")

# normal colors 1 - 16
os.system("tput setaf 16")
for n in range(8):
    out(n)
echo("\n")
for n in range(8, 16):
    out(n)

echo("\n")
echo("\n")

y=16
while y < 231:
    for z in range(0,6):
        out(y)
        y += 1

    echo("\n")


echo("\n")

for n in range(232, 256):
    out(n)
    if n == 237 or n == 243 or n == 249:
        echo("\n")

echo("\n")
os.system("tput setaf 7")
os.system("tput setab 0")

그 후에는 다음과 같은 내용이 표시됩니다 (그놈 터미널 테마에 따라 다름).

terminal

36
crncosta

음, Vim처럼 보이도록 Gvim을 구성 할 수 있습니다. ~/.gvimrc 파일을 작성하고 다음과 같은 사용자 정의 트릭을 붙여 넣으십시오.

set guioptions-=r  " no scrollbar on the right
set guioptions-=l  " no scrollbar on the left
set guioptions-=m  " no menu
set guioptions-=T  " no toolbar

나는 이것이 당신의 문제를 해결한다고 생각하지 않지만 누가 ;-)를 아는가

1
wassimans

Vim에 대해 별도의 프로파일을 만들었으며 백그라운드에서 단색의 불투명 한 색상을 사용했습니다. Vim을 사용할 때마다 수동으로 전환합니다. 더 나은 방법이 있는지 확실하지 않습니다. 그렇게 생각하고 싶습니다.

0
DLH