Как получить список всех установленных цветовых схем в Vim?

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

Ответ 1

Введите

:colorscheme, затем Space, а затем TAB.

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

:colorscheme, затем Space, а затем CTRL d

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

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

Вот небольшая функция, которую я написал, чтобы попробовать все цвета в каталоге $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

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

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

Ответ 7

Посмотрев на мою систему 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

Он выполняет следующие действия:

  • Получает список доступных сценариев цветовой схемы во всей среде выполнения пути (globpath, runtimepath)
  • Отображает пути script к их базовым именам (разбивает родительские директории и расширение) (map, fnamemodify)
  • Сортирует и удаляет дубликаты (uniq, sort)

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

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

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

Ответ 8

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

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

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

Лечение -

  • На мониторе SSH выберите "Редактировать/Настройки".

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

    б. установите флажок "включить цвета ANSI"

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

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

    colorscheme default

    если & term == "xterm"

    set t_kb = ^ H

    fixdel

    ENDIF

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

Ответ 9

Попробуйте

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

в ~/.vimrc.

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

Четвертая строка делает лидера , вместо стандартного \.

В последней строке вы можете просто набрать ,c, чтобы получить список и пригласить изменить цветовую схему.

Третья строка позволяет эффективно отображать Tab в ключевых картах.

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