¿Cómo obtener la lista de todos los esquemas de color instalados en Vim?


431

¿Hay alguna manera de obtener una lista de todos los esquemas de color instalados en Vim? Eso haría muy fácil seleccionar uno sin mirar el .vimdirectorio.

Respuestas:


620

Tipo

:colorschemeluego Spaceseguido por TAB.

o como dijo Peter

:colorschemeluego Spaceseguido porCTRLd

La versión corta del comando es :colopara que pueda usarla en los dos comandos anteriores, en lugar de usar la "forma larga".

Si desea buscar y obtener una vista previa de más temas, hay varios sitios web como colores Vim


41
<c-d>
Prueba

1
<cd> es realmente mejor si tiene muchos esquemas instalados.
Xavier T.

2
O si tienes algo :set wildmenuasí, obtén el mismo efecto que <c-d>con presionar la pestaña.
Conrad

Trabajó para mí después de agregar espacio después :colorscheme. Tal vez sea algo trivial, sin embargo, me llevó tiempo revelarlo.
jutky

44
:coloNo es realmente la forma corta . Acaba de completarse porque no hay comandos en conflicto. Si hiciera un comando como "colobanana", :colotendría más de una "forma larga", por lo que no funcionaría como se sugiere.
dylnmc

53

Puede ver la lista de esquemas de color en /usr/share/vim/vimNN/colors( NNsiendo la versión, por ejemplo, vim74para vim 7.4).

Esto se explica aquí .

En los servidores de Linux que uso a través de ssh, TABimpresiones ^Ie CTRLdimpresiones ^D.


10
Eso pierde los esquemas de color instalados por el usuario (en el directorio de inicio).
Cristian Ciupitu

44
El camino a las tablas de colores, ¡exactamente lo que estaba buscando, gracias!
Corepuncher

1
Tenga NNen cuenta que la entrada vimNNcorresponderá a la versión de vim, por ejemplo, vim74para vim 7.4. Solo quería señalar esto porque soy lento y me hizo hacer una doble toma cuando fui a mirar;)
Adam P

1
@AdamP Agregué la precisión en la respuesta.
Fabien

43

Solo para una referencia conveniente, ya que veo que hay muchas personas que buscan este tema y son demasiado flojos ... lo siento, están ocupados, para comprobarlo (incluyéndome a mí). Aquí una lista del conjunto predeterminado de esquemas de color para 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 

55
Lista muy útil Para aquellos con ojos más viejos, y que están aún más ocupados, aquí están aquellos que encontré más legibles: delek, koehler, slate & zellner. Elegí zellner.
theRiley

Buenas opciones, pero quizás demasiado color rojo para mí. Prefiero el desierto, que usa turquesa / azul claro. (En vim, escriba: colors desert)
HAltos

Siempre he usado la torta que para mí parece tener un buen contraste y no trata de ser un "estilo", y no "desperdicia el ancho de banda de contraste" al hacer que los colores sean similares.
NeilG


9

Aquí hay una pequeña función que escribí para probar todos los esquemas de colores en el directorio $ VIMRUNTIME / colors.

Agregue la siguiente función a su vimrc, luego abra su archivo fuente y llame a la función desde el comando.

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
llame a DisplayColorSchemes ()
Haagenti

8

Si tiene compilado su vim +menu, puede seguir los menús con el :helpde console-menu. Desde allí, puede navegar Edit.Color\ Schemepara obtener la misma lista que con in gvim.

Otro método es utilizar un script ScrollColors genial que previsualiza los esquemas de colores mientras desplaza los esquemas con j/k.


6

Mirando el menú menu.vim de mi sistema (busque el 'submenú Esquema de color') y la respuesta de @ chappar, se me ocurrió la siguiente función:

" 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

Hace lo siguiente:

  1. Obtiene la lista de scripts de esquema de color disponibles en todas las rutas de tiempo de ejecución (globpath, runtimepath)
  2. Asigna las rutas de script a sus nombres base (elimina los directorios principales y la extensión) (map, fnamemodify)
  3. Ordena y elimina duplicados (uniq, sort)

Luego, para usar la función, hago algo como esto:

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

Lo que significa que prefiero los esquemas 'solarizado' y luego el 'azul oscuro'; Si ninguno de ellos está disponible, no haga nada.


3

Una gran solución, y gracias a sus colaboradores. Durante años he estado luchando con un esquema de color totalmente malo: usar SSH en Windows Vista para un sistema Redhat, tipo de terminal xterm. El editor presentaría un fondo negro y colores extraños para varias palabras clave. Peor aún: ese esquema de color extraño se queda en el terminal xterm después de dejar Vim.

Muy confuso

Además, la tecla de retroceso falló durante un modo de inserción, lo cual fue desagradable de recordar, aunque Delete hizo lo mismo.

La cura --

  1. En el monitor SSH, seleccione Editar / Configuración.

    a. Elegir configuración de perfil / colores

    si. marque 'habilitar colores ANSI'

    C. Los colores de texto estándar probablemente estén bien

  2. Agregue estas líneas a $ HOME / .vimrc:

    colores por defecto

    if & term == "xterm"

    establecer t_kb = ^ H

    Fixdel

    terminara si

  3. NOTA: ^ H DEBE escribirse como ctrl-V ctrl-H. Parece peculiar, pero esto parece funcionar.


0

Tratar

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

en su ~/.vimrc.

Las dos primeras líneas hacen que las posibles coincidencias aparezcan como listas. Puedes usar uno o ambos.

La cuarta línea hace el líder en ,lugar del predeterminado \.

La última línea le permite simplemente escribir ,cpara obtener una lista y un aviso para cambiar su esquema de colores.

La tercera línea efectivamente permite que Tabs aparezca en mapas clave.

(Por supuesto, todas estas estrategias las aprendí de Internet, y principalmente SO, muy recientemente).


0

Otra forma más simple es mientras está editando un archivo: tabe ~/.vim/colors/ ENTER abrirá todos los temas en una nueva pestaña dentro de la ventana vim.

Puede volver al archivo que estaba editando usando - CTRL + W + W ENTER

Nota: Lo anterior solo funcionará SI TIENE un .vim/colorsdirectorio dentro de su directorio personal para el actual $USER (tengo más de 70 temas)

[usuario @ host ~] $ ls -l ~ / .vim / colors | wc -l

72

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.