如何获得Vim中所有已安assembly色scheme的列表?

有没有办法在Vim中获得所有安装的配色scheme列表? 如果不查看.vim目录,就可以非常容易地select一个。

types

:colorscheme然后空格紧跟TAB

或者像彼得所说的那样

:colorscheme然后空格,然后按CTRL d

命令的简短版本是:colo所以你可以在前两个命令中使用它,而不是使用“长格式”。

如果你想查找和预览更多的主题,有像Vim颜色的各种网站

您可以在/usr/share/vim/vimNN/colors下看到颜色scheme列表( NN是vim的版本,例如vim74 )。

这在这里解释。

在通过ssh使用的linux服务器上, TAB打印^ICTRL d打印^D

如果你愿意安装一个插件,我推荐https://github.com/vim-scripts/CycleColor

循环遍历所有安装的配色scheme。 好方法轻松select颜色scheme。

如果你用+menu编译你的vim,你可以按照菜单的console-menu :help 。 从那里,你可以导航到Edit.Color\ Scheme获得与gvim相同的列表。

其他方法是使用一个很酷的脚本ScrollColors来预览colorschemes,同时用j/k滚动这些scheme。

这是我写的一个小函数,用于在$ VIMRUNTIME / colors目录中尝试所有的颜色格式。

将下面的函数添加到你的vimrc中,然后打开你的源文件并从命令中调用函数。

 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 

一个很好的解决scheme,谢谢你的贡献者。 多年来,我一直在苦苦挣扎,用一种完全蹩脚的色彩scheme – 在Windows Vista下使用SSH到Redhat系统,terminaltypes为xterm。 编辑会想出各种关键字的黑色背景和怪异的颜色。 更糟糕的是,离开Vim之后,奇怪的配色scheme仍然在xtermterminal上。

真是令人困惑。

另外,在插入模式下,Backspace失败,这是一个令人讨厌的记忆 – 尽pipeDelete做了同样的事情。

治愈 –

  1. 在SSH监视器中,select编辑/设置。

    一个。 selectconfiguration文件设置/颜色

    湾 选中“启用ANSI颜色”

    C。 标准的文字颜色可能是好的

  2. 将这些行添加到$ HOME / .vimrc中:

    colorscheme默认

    如果&term ==“xterm”

    设置t_kb = ^ H

    fixdel

    万一

  3. 注意:^ H必须键入为ctrl-V ctrl-H。 似乎奇特,但这似乎工作。

尝试

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

在你的~/.vimrc

前两行使匹配显示为列表。 您可以使用其中之一或两者。

第四行是领导,而不是默认的\

最后一行允许你简单地input,c来获取一个列表和一个提示来改变你的颜色。

第三行有效地允许Tab出现在关键地图中。

(当然,我从互联网上学到的所有这些策略,最近都是这样。

看看我的系统的menu.vim(寻找“颜色scheme”子菜单)和@ chappar的答案,我想出了以下function:

 " 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 

它执行以下操作:

  1. 获取所有运行时path下的可用颜色scheme脚本列表(globpath,runtimepath)
  2. 将脚本path映射到其基本名称(剥离父目录和扩展名)(map,fnamemodify)
  3. sorting和删除重复(uniq,sorting)

然后使用这个函数,我做了这样的事情:

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

这意味着我更喜欢“日晒”和“深蓝”计划。 如果它们都不可用,则什么也不做。