Vim 如何将更改的colorscheme设置为keybinding的最佳方法

Vim 如何将更改的colorscheme设置为keybinding的最佳方法,vim,Vim,如何将更改的colorscheme设置为keybinding的最佳方法 有时我发现自己需要在白天和光线条件下改变方案,因为黑暗方案不适合 因此,默认情况下,我的配色方案是seoul256。我想我可以在绑定到d的vimscript中创建一个if语句来翻转方案 因此,我创建了一个变量cs=0,它将默认为我的暗模式,在keybinding上,它将设置cs=1,这将导致执行light方案 然而vimmscript不喜欢我的变量,我不确定在按键后如何重新加载它 这是我迄今为止的尝试 map <sp

如何将更改的colorscheme设置为keybinding的最佳方法

有时我发现自己需要在白天和光线条件下改变方案,因为黑暗方案不适合

因此,默认情况下,我的配色方案是seoul256。我想我可以在绑定到d的vimscript中创建一个if语句来翻转方案

因此,我创建了一个变量cs=0,它将默认为我的暗模式,在keybinding上,它将设置cs=1,这将导致执行light方案

然而vimmscript不喜欢我的变量,我不确定在按键后如何重新加载它

这是我迄今为止的尝试

 map <space>d cs = 1
 cs = 0
 if cs = 0
     colorscheme seoul256
 else
     colorscheme calmar256-light
 endif
map d cs=1
cs=0
如果cs=0
配色方案seoul256
其他的
彩色方案calmar256光
恩迪夫

您可以使用
g:colors\u name
获取当前配色方案的名称。然后,您可以将其与一个配色方案名称进行比较,如果匹配,则选择另一个

nnoremap <silent> <space>d :exec 'colorscheme' (g:colors_name ==# 'seoul256') ? 'calmar256-light' : 'seoul256'<CR>
nnoremap d:exec'colorscheme'(g:colors_name==#'seoul256')?'calmar256灯“:“seoul256”


至于你的为什么不起作用。您需要使用
let
来分配变量。您可以使用
source

为vim脚本文件配置资源,因为我得到了一个无效的表达式错误。E121:未定义变量:g:colors_name E15:无效表达式:(g:colors_name==#'seoul256')?'calmar256 light':'seoul256'@sayth您已经加载了配色方案了吗?必须先加载配色方案,然后
g:colors\u name
才会有值。请参阅
:hg:colors\u name
您将“需要”每天最多一次,因此。。。我不确定为它创建映射是否有意义。