Есть ли способ получить список всех установленных цветовых схем в 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, совсем недавно.)