如何获得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打印^I
和CTRL 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做了同样的事情。
治愈 –
-
在SSH监视器中,select编辑/设置。
一个。 selectconfiguration文件设置/颜色
湾 选中“启用ANSI颜色”
C。 标准的文字颜色可能是好的
-
将这些行添加到$ HOME / .vimrc中:
colorscheme默认
如果&term ==“xterm”
设置t_kb = ^ H
fixdel
万一
-
注意:^ 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
它执行以下操作:
- 获取所有运行时path下的可用颜色scheme脚本列表(globpath,runtimepath)
- 将脚本path映射到其基本名称(剥离父目录和扩展名)(map,fnamemodify)
- sorting和删除重复(uniq,sorting)
然后使用这个函数,我做了这样的事情:
let s:schemes = GetColorSchemes() if index(s:schemes, 'solarized') >= 0 colorscheme solarized elseif index(s:schemes, 'darkblue') >= 0 colorscheme darkblue endif
这意味着我更喜欢“日晒”和“深蓝”计划。 如果它们都不可用,则什么也不做。