Как получить список всех установленных цветовых схем в Vim? - PullRequest
382 голосов
/ 07 сентября 2011

Есть ли способ получить список всех установленных цветовых схем в Vim?Это очень легко сделать, не глядя на каталог .vim.

Ответы [ 9 ]

560 голосов
/ 07 сентября 2011

Тип

:colorscheme, затем Пробел , затем TAB .

или, как сказал Питер,

:colorscheme затем Пробел , за которым следует CTRL d

Краткая версия команды :colo, поэтому вы можете использовать ее в двух предыдущихкоманды, вместо использования "длинной формы".

Если вы хотите найти и просмотреть больше тем, существуют различные сайты, такие как Vim colors

48 голосов
/ 08 февраля 2013

Вы можете увидеть список цветовых схем в /usr/share/vim/vimNN/colors (с версией NN, например, vim74 для vim 7.4).

Это объяснено здесь .

На серверах Linux, которые я использую через ssh, TAB печатает ^I и CTRL d печатает ^D.

27 голосов
/ 22 февраля 2018

Просто для удобства, поскольку я вижу, что многие люди ищут эту тему и слишком ленивы ... извините, заняты, чтобы проверить себя (включая меня).Вот список стандартного набора цветовых схем для 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 
12 голосов
/ 10 декабря 2013

Если вы хотите установить плагин, я рекомендую https://github.com/vim-scripts/CycleColor.

для циклического переключения между всеми установленными цветовыми схемами.Хороший способ легко выбрать цветовую схему.

7 голосов
/ 27 сентября 2014

Вот небольшая функция, которую я написал, чтобы попробовать все схемы цветов в каталоге $ VIMRUNTIME / colors.

Добавьте указанную ниже функцию в ваш 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
6 голосов
/ 07 сентября 2011

Если ваш vim скомпилирован с +menu, вы можете следовать меню с :help из console-menu.Оттуда вы можете перейти к Edit.Color\ Scheme, чтобы получить тот же список, что и в gvim.

Другой метод - использовать классный скрипт ScrollColors , который предварительно просматривает схемы цветов во время прокруткисхемы с j/k.

4 голосов
/ 22 мая 2017

Глядя на menu.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. Сопоставляет пути сценариев с их базовыми именами (удаляет родительские каталоги и расширения) (map, fnamemodify)
  3. Сортирует и удаляет дубликаты (uniq, sort)

Затем, чтобы использовать функцию, я делаю что-то вроде этого:

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

Что означает, что я предпочитаю «соляризованный»а затем «темные» схемы;если ни один из них не доступен, ничего не делайте.

2 голосов
/ 12 августа 2013

Отличное решение, и моя благодарность вашим авторам.В течение многих лет я боролся с совершенно дурацкой цветовой схемой - используя SSH под Windows Vista для системы Redhat, типа терминала xterm.Редактор придумал бы черный фон и странные цвета для различных ключевых слов.Хуже того - эта странная цветовая схема остается в терминале xterm после выхода из Vim.

Действительно сбивает с толку.

Кроме того, Backspace не работал во время режима вставки, что было неприятно помнить - хотя Delete и сделалато же самое.

Лечение -

  1. На мониторе SSH выберите Edit / Settings.

    a.Выберите Настройки профиля / Цвета

    b.установите флажок «включить цвета ANSI»

    c.Стандартные цвета текста, вероятно, в порядке

  2. Добавьте эти строки в $ HOME / .vimrc:

    defaultcheme по умолчанию

    if & term == "xterm"

    set t_kb = ^ H

    fixdel

    endif

  3. ПРИМЕЧАНИЕ: ^ H ДОЛЖЕН быть напечатан как ctrl-V ctrl-ЧАС.Кажется странным, но это, кажется, работает.

0 голосов
/ 17 июля 2014

Попробуйте

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

в вашем ~/.vimrc.

В первых двух строках возможные совпадения отображаются в виде списков. Вы можете использовать один или оба.

Четвертая строка делает лидера , вместо значения по умолчанию \.

Последняя строка позволяет вам просто набрать ,c, чтобы получить список и запрос на изменение схемы цветов.

Третья строка позволяет Tab s появляться на ключевых картах.

(Конечно, все эти стратегии я узнал из интернета, и в основном из SO, совсем недавно.)

...