Saya baru tahu tentang :colorscheme
perintah itu. Apakah ada cara agar saya bisa mendapatkan daftar skema warna yang valid dari Vim? Saya ingin dapat melakukan ini dari dalam Vim, bukan dari daftar di suatu tempat di Internet.
colorscheme
Batalkan
sumber
sumber
Cara lain untuk menampilkan daftar adalah dengan
set wildmenu
. Dengan ini, setelah:colorscheme
+space
+tab
, daftar penyelesaian ditampilkan dan juga dapat dipilih dengan tombol panah atauCtrl-N
danCtrl-P
. Ini tidak hanya bekerja pada colorscheme, tetapi juga pada penyelesaian cmdline lainnya. Perilaku dipengaruhi olehwildmode
dan lebih baik diatur ke nilai defaultfull
.sumber
Jika Anda ingin melakukan ini di Vimscript, Anda bisa mendapatkan Daftar skema warna dengan menggunakan fungsi getcompletion ():
Ini sedikit lebih sederhana daripada jawaban Vimscript yang ada, yang memindai sistem file.
Lihat
:help getcompletion()
untuk lebih jelasnya.sumber
Jawaban lain menunjukkan cara interaktif untuk menunjukkan colorcheme apa yang tersedia, tetapi tidak ada yang menyebutkan cara mendapatkan daftar yang dapat digunakan dalam vimscript. Ini adalah adaptasi dari jawaban saya untuk pertanyaan ini .
Solusi ini menggunakan
'runtimepath'
opsi untuk mendapatkan semua direktori colorscheme yang tersedia, dan kemudian mengambil daftar file vimscript di direktori tersebut dengan ekstensi mereka dihapus. Ini mungkin bukan cara paling aman untuk melakukannya, jadi perbaikan dipersilahkan:Anda kemudian dapat menggunakan daftar ini yang dikembalikan oleh fungsi ini di vimscript. Misalnya, Anda bisa menggema setiap skema warna:
Saya tidak akan menjelaskan apa fungsi atau perintah masing-masing individu di sini, tetapi di sini adalah daftar halaman bantuan untuk semua yang saya gunakan:
:help 'runtimepath'
:help :let
:help :let-&
:help split()
:help :for
:help expr-.
:help :if
:help isdirectory()
:help glob()
:help fnamemodify()
:help add()
:help uniq()
:help sort()
sumber
Anda bisa mencoba ini
:colorscheme
, Lalu tekan spacetombol dan kemudian tabkunci.sumber
wildmenu
dan Anda danwildchar
bahwa jawaban ini pada dasarnya sama dengan yang satu ini