Як отримати список усіх встановлених кольорових схем у Vim?


431

Чи є спосіб отримати список усіх встановлених кольорових схем у Vim? Це зробило б дуже легко вибрати його, не дивлячись на .vimкаталог.

Відповіді:


620

Тип

:colorschemeпотім Spaceслідує TAB.

або, як Петро сказав,

:colorschemeпотім SpaceслідуєCTRLd

Коротка версія команди є :colo це ви можете використовувати її в двох попередніх командах, замість того, щоб використовувати "довгу форму".

Якщо ви хочете знайти та переглянути більше тем, існують різні веб-сайти, наприклад кольори Vim


41
Також спробуйте<c-d>
Пітер Рінкер

1
<cd> насправді краще, якщо у вас встановлено багато схем.
Xavier T.

2
Або якщо у вас є :set wildmenuсорти, ви отримаєте той же ефект, що і <c-d>при натисканні вкладки.
Conrad.Dean

Працював для мене після того, як я додав місця після :colorscheme. Можливо, це щось банальне, однак мені знадобився час, щоб розкрити.
jutky

4
:coloнасправді не короткоформатна форма . Це просто завершено, оскільки немає протиріччих команд. Якщо ви склали команду типу "колобанана", то :coloвона мала б більше "довгої форми", тому вона не працювала б, як було запропоновано.
dylnmc

53

Ви можете побачити список кольорових схем у /usr/share/vim/vimNN/colorsNNверсією, напрvim74 для vim 7.4).

Це пояснено тут .

На серверах linux я використовую через ssh, TABprint ^IтаCTRLd print ^D.


10
При цьому відсутні помилки кольорів, встановлені користувачем (під домашнім каталогом).
Крістіан Цюпіту

4
Шлях до кольорових таблиць, саме те, що я шукав подяки!
Corepuncher

1
Зауважте, що NNin vimNNвідповідатиме версії vim, наприклад, vim74для vim 7.4. Просто хотів це зазначити, тому що я повільний, і це змусило мене зробити подвійний результат, коли я пішов шукати;)
Адам П

1
@AdamP Я додав точності у відповідь.
Фабієн

43

Просто для зручності, оскільки я бачу, що дуже багато людей шукають цю тему і занадто ледачі ... вибачте, зайняті, щоб перевірити себе (включаючи мене). Ось перелік кольорових схем для Vim 7.4 за замовчуванням:

blue.vim
darkblue.vim,
delek.vim
desert.vim
elflord.vim
evening.vim
industry.vim                                                                                                                                                 
koehler.vim                                                                                                                                                  
morning.vim                                                                                                                                                  
murphy.vim                                                                                                                                                   
pablo.vim                                                                                                                                                    
peachpuff.vim                                                                                                                                                
ron.vim                                                                                                                                                      
shine.vim                                                                                                                                                    
slate.vim                                                                                                                                                    
torte.vim                                                                                                                                                    
zellner.vim 

5
Дуже корисний список. Для тих, хто зі старими очима, і хто навіть більш навантажений, ось такі, які я вважаю найбільш читаними: делек, келер, шифер і зелнер. Я вибрав zellner.
TheRiley

Хороший вибір, але, можливо, трохи забагато червоного кольору для мене. Я віддаю перевагу пустелі, де використовується бірюзовий / світло-блакитний. (In vim, type:
color

Я завжди використовував торт, який, здається, має хороший контраст і не намагається бути «стилем», і не «витрачає пропускну здатність контрасту», роблячи кольори подібними.
NeilG


9

Ось невеличка функція, яку я написав, щоб спробувати всі схеми кольорів у каталозі $ VIMRUNTIME / color.

Додайте нижче функцію до свого vimrc, а потім відкрийте вихідний файл та зателефонуйте до функції з команди.

function! DisplayColorSchemes()
   let currDir = getcwd()
   exec "cd $VIMRUNTIME/colors"
   for myCol in split(glob("*"), '\n')
      if myCol =~ '\.vim'
         let mycol = substitute(myCol, '\.vim', '', '')
         exec "colorscheme " . mycol
         exec "redraw!"
         echo "colorscheme = ". myCol
         sleep 2
      endif
   endfor
   exec "cd " . currDir
endfunction

1
зателефонувати DisplayColorSchemes ()
Хаагенті

8

Якщо у вас є ВІМ скомпільовано з +menu, ви можете слідувати меню з :helpз console-menu. Звідти ви можете перейти до Edit.Color\ Schemeтого ж списку, що і вgvim .

Інший метод полягає у використанні класного сценарію ScrollColors, який попередньо переглядає схеми кольорів під час прокрутки схем j/k.


6

Переглядаючи меню моєї системи.vim (шукайте підменю «Колірна схема») та відповідь @ chappar, я придумав таку функцію:

" Returns the list of available color schemes
function! GetColorSchemes()
   return uniq(sort(map(
   \  globpath(&runtimepath, "colors/*.vim", 0, 1),  
   \  'fnamemodify(v:val, ":t:r")'
   \)))
endfunction

Він робить наступне:

  1. Отримує список доступних сценаріїв кольорової схеми під усі маршрути виконання (globpath, runtimepath)
  2. Відображає шляхи сценарію до їх базових назв (смужки батьківських dirs та розширення) (map, fnamemodify)
  3. Сортування та видалення дублікатів (uniq, сортування)

Потім для використання функції я роблю щось подібне:

let s:schemes = GetColorSchemes()
if index(s:schemes, 'solarized') >= 0
   colorscheme solarized
elseif index(s:schemes, 'darkblue') >= 0
   colorscheme darkblue
endif

Що означає, що я віддаю перевагу схемам «соляризованих», а потім «темних темних»; якщо жодна з них недоступна, не робіть нічого.


3

Прекрасне рішення, і я дякую вашим колегам. Протягом багатьох років я боровся з абсолютно шаленою кольоровою гамою - використовуючи SSH під Windows Vista для системи Redhat, термінального типу xterm. Редактор може створити чорний фон і дивні кольори для різних ключових слів. Гірше - те, що дивна колірна гамма залишається в терміналі xterm після виходу з Vim.

Дійсно заплутаний.

Крім того, Backspace вийшов з ладу під час режиму вставки, що було неприємно запам’ятовувати - хоча Delete зробив те саме.

Ліки --

  1. На моніторі SSH виберіть Правка / Установки.

    а. Виберіть Налаштування профілю / кольори профілю

    б. поставити прапорець "включити кольори ANSI"

    c. Стандартні кольори тексту, ймовірно, добре

  2. Додайте ці рядки до $ HOME / .vimrc:

    colorcheme за замовчуванням

    if & term == "xterm"

    встановити t_kb = ^ H

    фіксал

    закінчення

  3. ПРИМІТКА: ^ H ОБОВ'ЯЗКОВО вводити як ctrl-V ctrl-H. Здається, це своєрідно, але це, здається, працює.


0

Спробуйте

set wildmenu
set wildmode=list:full
set wildcharm=<C-z>
let mapleader=','
nnoremap <leader>c :colorscheme <C-z><S-Tab>

у вашому ~/.vimrc .

Перші два рядки дозволяють збіги відображатись як списки. Ви можете використовувати один або обидва.

Четвертий рядок робить лідером ,замість за замовчуванням\ .

Останній рядок дозволяє просто вводити текст ,c щоб отримати список і підказку, щоб змінити свою колірну схему.

Третій рядок дозволяє ефективно Tabвідображати s у ключових картах.

(Звичайно, про всі ці стратегії я дізнався з Інтернету, і в основному так, зовсім недавно.)


0

Ще один простіший спосіб - під час редагування файлу - tabe ~/.vim/colors/ ENTER відкриє всі теми на новій вкладці у вікні vim.

Ви можете повернутися до файлу, який ви редагували, - CTRL + W + W ENTER

Примітка. Вище буде працювати ТІЛЬКО, якщо у вас є .vim/colorsкаталог у вашому домашньому каталозі для поточного $USER (у мене є більше 70 тем)

[user @ host ~] $ ls -l ~ / .vim / color | wc -l

72

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.