Vim,提示前显示当前配色方案

Vim,提示前显示当前配色方案,vim,Vim,我发现了一个帖子,上面有人问我怎么做。我想把这个和提示结合起来。也就是说,:colorscheme>CR>和:colorscheme分别起作用,分别显示和提示colorscheme。我不知道如何将这些合并到一个命令中。以下是我的尝试 nnoremap <leader>c :echo g:colors_name \n<CR> function! Colors() :colorscheme<cr> :colorscheme <C-z>&

我发现了一个帖子,上面有人问我怎么做。我想把这个和提示结合起来。也就是说,
:colorscheme>CR>
:colorscheme
分别起作用,分别显示和提示
colorscheme
。我不知道如何将这些合并到一个命令中。以下是我的尝试

nnoremap <leader>c :echo g:colors_name \n<CR>
function! Colors()
    :colorscheme<cr>
    :colorscheme <C-z><S-Tab>
endfunction
nnoremap <leader>c :exec Colors()
nnoremap <leader>c :colorscheme<cr>:colorscheme <C-z><S-Tab>
nnoremap <leader>c :echo g:colors_name<cr><bar>:colorscheme <C-z><S-Tab>
nnoremap c:echo g:colors\u name\n
功能!颜色()
:配色方案
:配色方案
端功能
nnoremap c:exec Colors()
nnoremap c:colorscheme:colorscheme
nnoremap c:echo g:colors\u name:colorscheme
这两项工作分别是:

nnoremap <leader>s :colorscheme<CR>
nnoremap <leader>c :colorscheme <C-z><S-Tab>
nnoremap s:colorscheme
nnoremap c:colorscheme

(顺便说一句,我使用
set-wildcharm=
set-wildmenu-wildmode=list:full

我不确定是否可以将它们组合成一个命令。我编写了一个函数来查找当前打印的所有配色方案,并提示您输入列表。当前配色方案名称包含在
g:colors\u name

function! PromptList(prompt, list)
    let l:copy = copy(a:list)
    for i in range(len(l:copy))
        let l:copy[i] = (i + 1) . '. ' . l:copy[i]
    endfor
    let l:ret = inputlist([a:prompt] + l:copy)
    if l:ret > 0 && l:ret < len(a:list)
        return a:list[l:ret - 1]
    else
        return ''
    endif
endfunction

function! ChangeColorscheme()
    " Get a sorted list with the available color schemes.
    let l:list = sort(map(
                \ split(globpath(&runtimepath, 'colors/*.vim'), '\n'),
                \ 'fnamemodify(v:val, ":t:r")'))

    let l:prompt = 'Current color scheme is ' . g:colors_name
    let l:color = PromptList(l:prompt, l:list)
    if l:color != ''
        exec 'colorscheme' l:color
    endif
endfunction
函数!提示列表(提示、列表)
让l:copy=copy(a:list)
适用于范围内的i(len(l:副本))
让l:copy[i]=(i+1)。”。l:副本[i]
外循环
让l:ret=inputlist([a:prompt]+l:copy)
如果l:ret>0&&l:ret

要使用它,请键入
:调用ChangeColorscheme()

什么是
应该做的?@merlin2011,简单地说,它使
野生菜单
/
野生模式
启动。
野生魅力
分配
以包含在宏中。因此
使选项卡完成选项出现,但也在com中的选项卡完成列表中输入第一项命令行。然后,
将其反转,这样选项卡完成列表仍会显示,但您可以从上次停止的位置键入以限制完成候选项。@merlin2011哦,我刚刚意识到,
选项卡的行为可能与我设置的
wildmenu
wildmode
有一定的依赖性(作为逗号分隔的列表,
wildmode
中有多少项?)。我将添加这些。使用
,c
查看配色方案非常简单。现在我有了类似的
,a
AirlineTheme