是否有一种方法可以在Vim中获得所有已安装的配色方案的列表?这样就可以很容易地选择一个,而不需要查看.vim目录。
当前回答
Type
:配色方案,然后空格,然后TAB。
或者如彼得所说,
:配色方案,然后空格后跟CTRLd
该命令的简短版本是:colo,因此您可以在前面的两个命令中使用它,而不是使用“长形式”。
其他回答
Try
set wildmenu
set wildmode=list:full
set wildcharm=<C-z>
let mapleader=','
nnoremap <leader>c :colorscheme <C-z><S-Tab>
在~/.vimrc中。
前两行使可能的匹配显示为列表。你可以用其中之一,也可以两者都用。
第四行是leader,而不是默认的\。
最后一行允许你简单地输入c来得到一个列表和一个改变配色方案的提示。
第三行有效地允许tab出现在键映射中。
(当然,所有这些策略都是我最近从网上学到的。)
如果你愿意安装插件,我推荐https://github.com/vim-scripts/CycleColor。
循环使用所有已安装的配色方案。很好地选择一个配色方案。
我知道我回答这个问题有点晚了,但正确答案似乎是
参见:help getcompletion():
:echo getcompletion('', 'color')
你可以把它赋值给一个变量:
:let foo = getcompletion('', 'color')
或者在表达式寄存器中使用:
:put=getcompletion('', 'color')
这不是我的答案,这个解决方案是由reddit上的u/romainl提供的。
非常好的解决方案,感谢您的贡献者。多年来,我一直在与一个完全糟糕的配色方案作斗争——在Windows Vista下使用SSH到Redhat系统,终端类型为xterm。 编辑器会为各种关键词提供黑色背景和奇怪的颜色。 更糟糕的是,在离开Vim后,奇怪的配色方案仍然停留在xterm终端上。
真的很让人困惑。
此外,Backspace在插入模式时失败了,这让人难以记住——尽管Delete也发生了同样的事情。
治愈方法——
在SSH监视器中选择“Edit/Settings”。 a.选择“配置文件设置/颜色” b.检查“启用ANSI颜色” c.标准的文本颜色应该是可以的 将这些行添加到$HOME/.vimrc: colorscheme违约 If &term == "xterm" 设置t_kb = ^ H fixdel endif 注意:^H必须输入ctrl-V ctrl-H。听起来很奇怪,但这似乎很管用。
看着我的系统菜单。vim(寻找“配色方案子菜单”)和@chappar的答案,我想出了以下函数:
" 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
它的功能如下:
获取所有运行时下可用的配色方案脚本的列表 路径(globpath, runtimepath) 将脚本路径映射到它们的基名(条带父dirs和 扩展)(映射,fnamemodify) 排序和删除重复项(uniq, sort)
然后使用这个函数,我这样做:
let s:schemes = GetColorSchemes()
if index(s:schemes, 'solarized') >= 0
colorscheme solarized
elseif index(s:schemes, 'darkblue') >= 0
colorscheme darkblue
endif
这意味着我更喜欢“太阳能”和“深蓝色”方案;如果没有,什么都不做。
推荐文章
- 如何读一个文本文件到一个列表或数组与Python
- Linq选择列表中存在的对象(A,B,C)
- 返回大列表中每n项的python方式
- 为什么Vim使用~扩展名保存文件?
- Python:查找列表中的元素
- 如何将字典列表合并为一个字典?
- 如何在Vim或Linux中将空格转换为制表符?
- 在Python中创建一个初始容量的列表
- 在python中插入一个列表到另一个列表的语法是什么?
- 将一个列表分成大约相等长度的N个部分
- 我如何使用vimdiff来解决git合并冲突?
- 在python中zip的逆函数是什么?
- 在Vim中删除当前缓冲区的文件名/路径
- 如何在元组列表中获得第一个元素?
- 将[key1,val1,key2,val2]转换为字典?