Acabei de descobrir sobre o :colorscheme
comando. Existe uma maneira de obter uma lista de esquemas de cores válidos no Vim? Eu gostaria de poder fazer isso no Vim, não em uma lista em algum lugar da Internet.
colorscheme
Desfazer
fonte
fonte
Outra maneira de mostrar a lista é por
set wildmenu
. Com isso, após:colorscheme
+space
+tab
, uma lista de conclusão é exibida e também selecionável com a tecla de seta ouCtrl-N
eCtrl-P
. Este não é apenas um trabalho sobre esquema de cores, mas também sobre outras finalizações de cmdline. O comportamento é afetadowildmode
e melhor definido como o valor padrãofull
.fonte
Se você quiser fazer isso no Vimscript, poderá obter uma Lista de esquemas de cores usando a função getcompletion ():
Isso é um pouco mais simples que a resposta existente do Vimscript, que verifica o sistema de arquivos.
Veja
:help getcompletion()
para mais detalhes.fonte
As outras respostas mostram a maneira interativa de mostrar quais esquemas de cores estão disponíveis, mas ninguém mencionou uma maneira de obter uma lista que pode ser usada no vimscript. Esta é uma adaptação da minha resposta para esta pergunta .
Esta solução usa a
'runtimepath'
opção de obter todos os diretórios de esquema de cores disponíveis e, em seguida, busca uma lista dos arquivos vimscript nesses diretórios com suas extensões removidas. Talvez essa não seja a maneira mais segura de fazê-lo, portanto, as melhorias são bem-vindas:Você pode usar a lista retornada por esta função no vimscript. Por exemplo, você pode simplesmente repetir cada esquema de cores:
Não explicarei o que cada função ou comando individual faz aqui, mas aqui está uma lista das páginas de ajuda de todas as que usei:
: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()
fonte
Você pode tentar isso
:colorscheme
, Em seguida, pressione a spacetecla e, em seguida, a tabtecla.fonte
wildmenu
ewildchar
ajustes e que essa resposta é basicamente o mesmo que do tivn um