Как включить полноцветную поддержку в Vim?

Он будет работать, но Unity, вероятно, не будет работать так хорошо. Unity - это графический интерфейс, который является стандартным для Ubuntu. Попробуйте вместо этого установить Ubuntu с Gnome2. Существует дистрибутив Ubuntu, который поставляется с предустановленным рабочим столом Gnome вместо Unity.

http://ubuntugnome.org/

Это их главная страница. Вы можете скачать последнюю версию 13.04 или бета-версию 13.10. Я бы придерживался 13.04, так как вы новичок, и наличие ОС, которая находится в бета-версии, вероятно, не очень хорошая идея.

Если вы ДЕЙСТВИТЕЛЬНО обеспокоены, вы можете попробовать еще более легкую версию Ubuntu, предназначенную для старого (старого) оборудования. Lubuntu. Его можно найти на домашней странице здесь:

http://ubuntugnome.org/

Он также использует рабочий стол Gnome, но устанавливает легкие пакеты, и в целом менее раздуты, чем стандартные дистрибутивы Ubuntu. Возможно, вам стоит попробовать это первым.

Напишите комментарий к этому с именем вашего процессора и сколько у вас бара, я сделаю предложение.

1
задан 21 February 2014 в 16:46

4 ответа

Более общее решение заключается в установке термина типа «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. Большинство приложений распознают 256 цветов автоматически (если они могут их использовать).

Emacs также имеет цветные темы, которые намного лучше с 256 цветами. Чтобы проверить, работает ли его 256-цветный режим:

M-x list-colors-display

256colors.pl - это скрипт Perl, который отобразит все цвета в вашем терминале.

44
ответ дан 29 May 2018 в 13:08
  • 1
    На самом деле, gnome-256color более корректен для gnome-терминала. – graywh 3 March 2011 в 00:48
  • 2
    будет ли он работать в zsh, я не использую bash? – Vinit Kumar 20 September 2012 в 18:56
  • 3
    Дэйв, я не уверен на 100%, если он правильный, но вот версия oneliner вашей команды: [[ -n "$DISPLAY" && "$TERM" = "xterm" ]] && export TERM=xterm-256color. Пожалуйста, подтвердите и не стесняйтесь добавлять его в сообщение. – JJD 22 January 2013 в 03:06
  • 4
    @JJD Должен работать, но вы всегда можете использовать ;, чтобы сделать все однострочным. – Martin Ueding 16 September 2013 в 21:31
  • 5
    @ dave-jennings Ссылка на скрипт нарушена. – Martin Ueding 16 September 2013 в 21:56

Просто включите строку ниже в свой $HOME/.bashrc (желательно в последней строке файла):

export TERM="xterm-256color"

И сохраните ее. После этого перезапустите свой гном-терминал. Это изменение будет доступно не только в vim, но и для всех ваших терминальных приложений.

Чтобы проверить, работает ли это, запустите этот маленький скрипт:

#!/usr/bin/env python
# Copyright (C) 2006 by Johannes Zellner, <johannes@zellner.org>
# modified by mac@calmar.ws to fit my output needs
# modified by crncosta@carloscosta.org 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")

После этого вы увидите что-то вроде следующего (зависит от вашей темы gnome-terminal):

36
ответ дан 29 May 2018 в 13:08
  • 1
    Работает как шарм, спасибо! – user10962 18 October 2013 в 16:45
  • 2
    Интересно, зачем создавать скрипт в Python, если он содержит только команды оболочки. Понимаете, есть петли, whiles, ifs и функции в Bash;) – MestreLion 28 January 2015 в 10:50

Ну, вы всегда можете настроить Gvim, чтобы он выглядел как Vim. Вам просто нужно создать файл ~ / .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
ответ дан 29 May 2018 в 13:08

Я сделал отдельный профиль для Vim, который использует сплошной непрозрачный цвет в фоновом режиме. Я просто переключаюсь вручную, когда я использую Vim. Не уверен, есть ли лучший метод. Я бы так подумал.

0
ответ дан 29 May 2018 в 13:08
  • 1
    Вы можете использовать if has("gui_running") в своем vimrc для установки конкретных опций gui. – Matt 1 August 2010 в 14:50

Другие вопросы по тегам:

Похожие вопросы: