Jak uzyskać listę wszystkich zainstalowanych schematów kolorów w Vimie?


431

Czy istnieje sposób na uzyskanie listy wszystkich zainstalowanych schematów kolorów w Vimie? Ułatwiłoby to wybranie jednego bez przeglądania .vimkatalogu.

Odpowiedzi:


620

Rodzaj

:colorschemenastępnie Spacenastępuje TAB.

lub jak powiedział Piotr,

:colorschemenastępnie SpacenastępujeCTRLd

Krótka wersja polecenia :colopozwala na użycie go w dwóch poprzednich poleceniach zamiast używania „długiej formy”.

Jeśli chcesz znaleźć i przejrzeć więcej motywów, istnieje wiele stron internetowych, takich jak kolory Vima


41
Spróbuj także<c-d>
Peter Rincker,

1
<cd> jest rzeczywiście lepszy, jeśli masz wiele zainstalowanych schematów.
Xavier T.

2
Lub jeśli masz, masz :set wildmenutaki sam efekt, jak w <c-d>przypadku uderzenia w kartę.
Conrad.Dean

Pracowałem dla mnie po dodaniu spacji po :colorscheme. Może to coś trywialnego, jednak ujawnienie go zajęło mi trochę czasu.
jutky

4
:colonie jest tak naprawdę krótką formą . Właśnie został ukończony, ponieważ nie ma sprzecznych poleceń. Jeśli wykonałeś polecenie takie jak „colobanana”, :colomiałbyś więcej niż jedną „długą formę”, więc nie działałoby to zgodnie z sugestią.
dylnmc

53

Możesz zobaczyć listę schematów kolorów w /usr/share/vim/vimNN/colors(z NNwersją, np. vim74Dla vima 7.4).

Wyjaśniono to tutaj .

Na serwerach Linux używam ssh, TABwydruków ^Ii CTRLdwydruków ^D.


10
To pomija schematy kolorów zainstalowane przez użytkownika (w katalogu domowym).
Cristian Ciupitu

4
Ścieżka do tabel kolorów, dokładnie to, czego szukałam, dzięki!
Corepuncher,

1
Zauważ, że NNin vimNNodpowiada wersji vima, np. vim74Vim 7.4. Chciałem tylko zwrócić na to uwagę, ponieważ jestem powolny, co sprawiło, że zrobiłem podwójne ujęcie, kiedy poszedłem spojrzeć;)
Adam P

1
@AdamP Dodałem precyzję w odpowiedzi.
Fabien

43

Tylko dla wygody, ponieważ widzę, że wiele osób szuka tego tematu i jest zbyt laz ... przepraszam, zajęty, aby sprawdzić siebie (w tym mnie). Oto lista domyślnego zestawu schematów kolorów dla Vima 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 

5
Bardzo pomocna lista. Dla tych o starszych oczach, którzy są jeszcze bardziej zajęci, oto te, które uważam za najbardziej czytelne: delek, koehler, łupek i zellner. Wybrałem Zellner.
theRiley

Dobry wybór, ale może dla mnie trochę za dużo czerwonego koloru. Wolę pustynię, która wykorzystuje turkus / jasnoniebieski. (W vimie wpisz: kolory pustyni)
HAltos

Zawsze używałem tortu, który wydaje mi się mieć dobry kontrast i nie próbuje być „stylem”, i nie „marnuje pasma kontrastu”, czyniąc kolory podobnymi.
NeilG


9

Oto mała funkcja, którą napisałem, aby wypróbować wszystkie schematy kolorów w katalogu $ VIMRUNTIME / colors.

Dodaj poniższą funkcję do vimrc, a następnie otwórz plik źródłowy i wywołaj funkcję z polecenia.

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
wywołaj DisplayColorSchemes ()
Haagenti

8

Jeśli masz skompilowany z vim +menu, można śledzić menu przy :helpz console-menu. Stamtąd możesz przejść do, Edit.Color\ Schemeaby uzyskać tę samą listę, co w gvim.

Inną metodą jest użycie fajnego skryptu ScrollColors, który wyświetla podgląd kolorów podczas przewijania schematów j/k.


6

Patrząc na menu mojego systemu. Vim (poszukaj podmenu „Schemat kolorów”) i odpowiedź @ chappar, wymyśliłem następującą funkcję:

" 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

Wykonuje następujące czynności:

  1. Pobiera listę dostępnych skryptów schematu kolorów we wszystkich ścieżkach środowiska wykonawczego (globpath, runtimepath)
  2. Odwzorowuje ścieżki skryptów na ich nazwy podstawowe (usuwa katalogi nadrzędne i rozszerzenie) (map, fnamemodify)
  3. Sortuje i usuwa duplikaty (uniq, sort)

Następnie, aby użyć funkcji, robię coś takiego:

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

Co oznacza, że ​​wolę schematy „solaryzowane”, a następnie „ciemnoniebieskie”; jeśli żaden z nich nie jest dostępny, nie rób nic.


3

Świetne rozwiązanie i moje podziękowania dla waszych współpracowników. Przez lata zmagałem się z całkowicie gównianą kolorystyką - używając SSH pod Windows Vista do systemu Redhat, typu terminalowego xterm. Edytor wymyśliłby czarne tło i dziwne kolory dla różnych słów kluczowych. Gorzej - ta dziwna kolorystyka pozostaje w terminalu xterm po opuszczeniu Vima.

Naprawdę mylące.

Również Backspace nie powiódł się w trybie wstawiania, co było przykrym do zapamiętania - chociaż Delete zrobił to samo.

Lekarstwo -

  1. Na monitorze SSH wybierz Edytuj / Ustawienia.

    za. Wybierz Ustawienia profilu / Kolory

    b. zaznacz „włącz kolory ANSI”

    do. Standardowe kolory tekstu są prawdopodobnie prawidłowe

  2. Dodaj te linie do $ HOME / .vimrc:

    kolory domyślnie

    if & term == "xterm"

    ustaw t_kb = ^ H

    fixdel

    endif

  3. UWAGA: ^ H MUSI być wpisany jako ctrl-V ctrl-H. Wydaje się to dziwne, ale wydaje się, że to działa.


0

Próbować

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

w twoim ~/.vimrc.

Pierwsze dwa wiersze sprawiają, że możliwe dopasowania pojawiają się jako listy. Możesz użyć jednego lub obu.

Czwarta linia tworzy lidera ,zamiast domyślnego \.

Ostatni wiersz pozwala po prostu wpisać, ,caby uzyskać listę i monit o zmianę schematu kolorów.

Trzecia linia skutecznie pozwala na Tabpojawienie się s na kluczowych mapach.

(Oczywiście, wszystkie te strategie nauczyłem się z Internetu, a głównie SO, całkiem niedawno.)


0

Innym prostszym sposobem jest edytowanie pliku - tabe ~/.vim/colors/ ENTER Otwiera wszystkie motywy w nowej karcie w oknie vim.

Możesz wrócić do edytowanego pliku za pomocą - CTRL + W + W ENTER

Uwaga: Powyższe będzie działać TYLKO JEŚLI MASZ .vim/colorskatalog w katalogu głównym dla bieżących $USER (mam ponad 70 motywów)

[użytkownik @ host ~] $ ls -l ~ / .vim / colors | wc -l

72

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.