Cum să obțineți lista tuturor schemelor de culori instalate în Vim? (Programare, Lista, Vim, Schema De Culori)

tunnuz a intrebat.

Există o modalitate de a obține o listă cu toate schemele de culori instalate în Vim? Acest lucru ar face foarte ușoară selectarea uneia dintre ele, fără a ne uita la .vim director.

11 răspunsuri
Xavier T.

Tip

:colorscheme apoi Spațiu urmat de TAB.

sau cum a spus Peter,

:colorscheme apoi Spațiu urmat de CTRLd

Versiunea scurtă a comenzii este :colo astfel încât să o puteți utiliza în cele două comenzi anterioare, în loc să folosiți „forma lungă”.

Dacă doriți să găsiți și să previzualizați mai multe teme, există diverse site-uri web precum Vim colors

Comentarii

  • <c-d> este de fapt mai bună dacă aveți multe scheme instalate. –  > Por Xavier T..
  • Sau dacă aveți :set wildmenu veți obține cam același efect ca și <c-d> cu apăsarea tab-ului. –  > Por Conrad.Dean.
  • La mine a funcționat după ce am adăugat spațiu după :colorscheme. Poate că este ceva banal, totuși, mi-a luat timp să dezvălui. –  > Por jutky.
  • @jutky : ai dreptate, altfel se completează doar numele comenzii. Voi actualiza răspunsul în consecință. –  > Por Xavier T..
  • :colo nu este chiar așa forma scurtă. Este doar completat pentru că nu există comenzi contradictorii. Dacă ați făcut o comandă de genul „colobanana”, atunci :colo ar avea mai mult de o „formă lungă”, deci nu ar funcționa așa cum s-a sugerat. –  > Por dylnmc.
Fabien

Puteți vedea lista de scheme de culori la adresa /usr/share/vim/vimNN/colors (cu NN fiind versiunea, de ex. vim74 pentru vim 7.4).

Acest lucru este explicat aici.

Pe serverele linux pe care le folosesc prin ssh, TAB tipărește ^I și CTRLd tipărește ^D.

Comentarii

  • Aceasta ratează schemele de culori instalate de utilizator (în directorul de domiciliu). –  > Por Cristian Ciupitu.
  • Calea către tabelele de culori, exact ce căutam mulțumesc! –  > Por Corepuncher.
  • Rețineți că NN în vimNN va corespunde versiunii de vim, de ex. vim74 pentru vim 7.4. Am vrut doar să precizez acest lucru pentru că sunt lent și m-a făcut să mă gândesc de două ori când m-am dus să mă uit 😉 –  > Por Adam P.
  • @AdamP Am adăugat precizarea în răspuns. –  > Por Fabien.
runlevel0

Doar pentru o referință convenabilă, deoarece văd că există o mulțime de oameni care caută acest subiect și sunt prea leneși… scuze, ocupați, pentru a se verifica (inclusiv eu). Iată o listă cu setul implicit de scheme de culori pentru 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 

Comentarii

  • O listă foarte utilă. Pentru cei cu ochi mai bătrâni, și care sunt și mai ocupați, iată-le pe cele pe care le-am găsit cele mai ușor de citit : delek, koehler, slate & zellner. Eu am selectat zellner. –  > Por theRiley.
  • Bune alegeri, dar poate un pic prea mult de culoare roșie pentru mine. Prefer desert, care folosește turcoaz/albastru deschis. (În vim, tastați :colors desert).  > Por HAltos.
  • Eu am folosit întotdeauna torte care mi se pare că are un contrast bun și nu încearcă să fie un „stil” și nu „irosește lățimea de bandă de contrast” făcând culorile similare. –  > Por NeilG.
John C Earls

Dacă sunteți dispus să instalați un plugin, vă recomand https://github.com/vim-scripts/CycleColor.

pentru a parcurge toate schemele de culori instalate. O modalitate plăcută de a alege cu ușurință o colorscheme.

chappar

Iată o mică funcție pe care am scris-o pentru a încerca toate schemele de culori din directorul $VIMRUNTIME/colors.

Adăugați funcția de mai jos la vimrc, apoi deschideți fișierul sursă și apelați funcția din comandă.

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

Comentarii

  • call DisplayColorSchemes() –  > Por Haagenti.
mike3996

Dacă aveți vim-ul compilat cu +menu, , puteți urmări meniurile cu ajutorul funcției :help din console-menu. De acolo, puteți naviga la Edit.Color Scheme pentru a obține aceeași listă ca și cu în gvim.

O altă metodă este de a folosi un script interesant ScrollColors care previzualizează schemele de culori în timp ce parcurgeți schemele cu j/k.

roy

Uitându-mă la menu.vim al sistemului meu (căutați ‘Color Scheme submenu’) și la răspunsul lui @chappar, am găsit următoarea funcție:

" 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

Aceasta face următoarele:

  1. Obține lista de scripturi de scheme de culori disponibile în toate traseele de execuție (globpath, runtimepath).
  2. Mappează căile scripturilor în numele lor de bază (elimină directorii părinți și extensia) (map, fnamemodify).
  3. Sortează și elimină dublurile (uniq, sort)

Apoi, pentru a utiliza funcția, fac ceva de genul următor:

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

Ceea ce înseamnă că prefer schemele „solarized” și apoi „darkblue”; dacă niciuna dintre ele nu este disponibilă, nu fac nimic.

William Barrett

O soluție excelentă, iar mulțumirile mele celor care au contribuit. De ani de zile m-am luptat cu o schemă de culori total aiurea – folosind SSH sub Windows Vista la un sistem Redhat, terminal de tip xterm. editorul ar veni cu un fundal negru și culori ciudate pentru diferite cuvinte cheie. Mai rău — acea schemă de culori ciudată se lipește în terminalul xterm după ce părăsesc Vim.

Foarte derutant.

De asemenea, Backspace nu reușea în timpul unui mod de inserție, ceea ce era urât de reținut — deși Delete făcea același lucru.

Leacul…

  1. În monitorul SSH, selectați Edit/Settings.

    a. Alegeți Profile Settings/Colors

    b. bifați „enable ANSI colors” (activați culorile ANSI)

    c. Culorile standard Text sunt probabil OK

  2. Adăugați aceste linii în $HOME/.vimrc:

    colorscheme default

    if &term == „xterm”

    set t_kb=^H

    fixdel

    endif

  3. NOTĂ: ^H TREBUIE să fie tastat ca ctrl-V ctrl-H. Pare ciudat, dar pare să funcționeze.

justrajdeep

știu că am întârziat pentru acest răspuns, dar răspunsul corect pare a fi

Consultați :help getcompletion():

:echo getcompletion('', 'color')

pe care îl puteți atribui unei variabile:

:let foo = getcompletion('', 'color')

sau folosiți într-un registru de expresii:

:put=getcompletion('', 'color')

Acesta nu este răspunsul meu, această soluție este oferită de u/romainl în acest postare pe reddit.

Brady Trainor

Încercați

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

în ~/.vimrc.

Primele două linii fac ca posibilele potriviri să apară sub formă de liste. Puteți folosi oricare dintre ele sau ambele.

A patra linie face ca liderul , în locul celui implicit .

Ultima linie vă permite să introduceți pur și simplu ,c pentru a obține o listă și un prompt pentru a schimba schema de culori.

A treia linie permite efectiv Tabsă apară în hărțile cheie.

(Bineînțeles, toate aceste strategii le-am învățat de pe internet, și mai ales SO, foarte recent).

nitinr708

O altă modalitate mai simplă este în timp ce editați un fișier – tabe ~/.vim/colors/ ENTERSe vor deschide toate temele într-o nouă filă în cadrul ferestrei vim.

Vă puteți întoarce la fișierul pe care îl editați folosind – CTRL + W + W ENTER

Notă: Cele de mai sus vor funcționa NUMAI DACĂ aveți un .vim/colors director în cadrul directorului dvs. personal pentru directorul curent $USER(eu am peste 70 de teme)

[[email protected] ~]$ ls -l ~/.vim/colors | wc -l

72