Bagaimana cara mendapatkan daftar semua skema warna yang diinstal di Vim?


431

Apakah ada cara untuk mendapatkan daftar semua skema warna yang diinstal di Vim? Itu akan membuat sangat mudah untuk memilih satu tanpa melihat .vimdirektori.

Jawaban:


620

Tipe

:colorschemelalu Spacediikuti oleh TAB.

atau seperti kata Peter,

:colorschemelalu Spacediikuti olehCTRLd

Versi singkat dari perintah ini adalah :coloagar Anda dapat menggunakannya dalam dua perintah sebelumnya, alih-alih menggunakan "formulir panjang".

Jika Anda ingin menemukan dan melihat lebih banyak tema, ada berbagai situs web seperti warna Vim


41
Coba juga<c-d>
Peter Rincker

1
<cd> sebenarnya lebih baik jika Anda memiliki banyak skema yang diinstal.
Xavier T.

2
Atau jika Anda punya :set wildmenuAnda agak mendapatkan efek yang sama <c-d>dengan tab memukul.
Conrad.Dean

Bekerja untuk saya setelah saya menambahkan ruang setelah :colorscheme. Mungkin itu sesuatu yang sepele, namun, saya perlu waktu untuk mengungkapkannya.
jutky

4
:colobukan bentuk pendeknya . Itu baru saja selesai karena tidak ada perintah yang saling bertentangan. Jika Anda membuat perintah seperti "colobanana", maka :coloakan memiliki lebih dari satu "bentuk panjang", jadi itu tidak akan berfungsi seperti yang disarankan.
dylnmc

53

Anda dapat melihat daftar skema warna di bawah /usr/share/vim/vimNN/colors(dengan NNmenjadi versi, misalnya vim74untuk vim 7.4).

Ini dijelaskan di sini .

Di server linux saya menggunakan via ssh, TABprint ^Idan CTRLdprint ^D.


10
Itu merindukan skema warna yang dipasang oleh pengguna (di bawah direktori home).
Cristian Ciupitu

4
Jalan menuju tabel warna, persis apa yang saya cari terima kasih!
Corepuncher

1
Perhatikan bahwa NNin vimNNakan sesuai dengan versi vim, misalnya vim74untuk vim 7.4. Hanya ingin menunjukkan ini karena saya lambat dan itu membuat saya melakukan pengambilan ganda ketika saya pergi untuk melihat;)
Adam P

1
@ AdamP Saya menambahkan ketepatan dalam jawaban.
Fabien

43

Hanya untuk referensi yang mudah karena saya melihat bahwa ada banyak orang yang mencari topik ini dan terlalu malas ... maaf, sibuk, untuk memeriksa diri mereka sendiri (termasuk saya). Berikut daftar skema warna default untuk 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 

5
Daftar sangat membantu. Bagi mereka yang memiliki mata yang lebih tua, dan yang bahkan lebih sibuk, inilah yang menurut saya paling mudah dibaca: delek, koehler, slate & zellner. Saya memilih zellner.
theRiley

Pilihan yang bagus, tapi mungkin terlalu banyak warna merah untukku. Saya lebih suka gurun, yang menggunakan pirus / biru muda. (Dalam vim, ketik: warna gurun)
HAltos

Saya selalu menggunakan torte yang bagi saya tampaknya memiliki kontras yang baik dan tidak mencoba menjadi "gaya", dan tidak "membuang-buang bandwidth kontras" dengan membuat warna yang sama.
NeilG


9

Ini adalah fungsi kecil yang saya tulis untuk mencoba semua skema warna dalam direktori $ VIMRUNTIME / colors.

Tambahkan fungsi di bawah ini ke vimrc Anda, lalu buka file sumber Anda dan panggil fungsi dari perintah.

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

8

Jika vim Anda dikompilasi +menu, Anda dapat mengikuti menu dengan :helpof console-menu. Dari sana, Anda dapat menavigasi ke Edit.Color\ Schemeuntuk mendapatkan daftar yang sama dengan di gvim.

Metode lain adalah dengan menggunakan ScrollColors skrip keren yang pratinjau skema warna saat Anda menggulir skema j/k.


6

Melihat menu.vim sistem saya (mencari 'submenu Skema Warna') dan jawaban @ chappar, saya menghasilkan fungsi berikut:

" 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

Ini melakukan hal berikut:

  1. Mendapat daftar skrip skema warna yang tersedia di bawah semua jalur runtime (globpath, runtimepath)
  2. Memetakan jalur skrip ke nama dasarnya (strip dir induk dan ekstensi) (memetakan, memalsukan)
  3. Mengurutkan dan menghapus duplikat (uniq, urutkan)

Kemudian untuk menggunakan fungsi saya melakukan sesuatu seperti ini:

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

Yang berarti saya lebih suka skema 'solarized' dan kemudian 'darkblue'; jika tidak ada yang tersedia, jangan lakukan apa pun.


3

Solusi hebat, dan terima kasih saya kepada kontributor Anda. Selama bertahun-tahun saya telah berjuang dengan skema warna yang benar-benar jelek - menggunakan SSH di bawah Windows Vista ke sistem Redhat, tipe terminal xterm. Editor akan datang dengan latar belakang hitam dan warna aneh untuk berbagai kata kunci. Lebih buruk - skema warna yang aneh menempel di terminal xterm setelah meninggalkan Vim.

Sangat membingungkan.

Juga, Backspace gagal selama mode penyisipan, yang tidak menyenangkan untuk diingat - meskipun Delete melakukan hal yang sama.

Obatnya -

  1. Di monitor SSH, pilih Edit / Pengaturan.

    Sebuah. Pilih Pengaturan Profil / Warna

    b. centang 'aktifkan warna ANSI'

    c. Warna teks standar mungkin OK

  2. Tambahkan baris ini ke $ HOME / .vimrc:

    default colorscheme

    if & term == "xterm"

    set t_kb = ^ H

    fixdel

    berakhir jika

  3. CATATAN: ^ H HARUS diketik sebagai ctrl-V ctrl-H. Tampaknya aneh, tetapi ini tampaknya berhasil.


0

Mencoba

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

di Anda ~/.vimrc.

Dua baris pertama memungkinkan kecocokan muncul sebagai daftar. Anda dapat menggunakan salah satu atau keduanya.

Baris keempat menjadikan pemimpin ,sebagai ganti default \.

Baris terakhir memungkinkan Anda cukup mengetik ,cuntuk mendapatkan daftar dan permintaan untuk mengubah skema warna Anda.

Baris ketiga secara efektif memungkinkan Tabs muncul di peta kunci.

(Tentu saja, semua strategi ini saya pelajari dari internet, dan sebagian besar SO, baru-baru ini.)


0

Cara lain yang lebih sederhana adalah saat Anda mengedit file - tabe ~/.vim/colors/ ENTER Akan membuka semua tema di tab baru dalam jendela vim.

Anda dapat kembali ke file yang sedang Anda edit menggunakan - CTRL + W + W ENTER

Catatan: Di atas hanya akan HANYA JIKA ANDA MEMILIKI .vim/colorsdirektori dalam direktori home Anda untuk saat ini $USER (Saya punya 70+ tema)

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

72

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.