如何使用 vimscript 以编程方式更改颜色方案?
how can I change the colorscheme programmatically with vimscript?
我想在 vimscript 中更改配色方案,例如:
let g:scheme = "default"
colorscheme scheme
我收到以下错误:
colorscheme "scheme" cannot be found
为什么当我执行 :colorscheme 命令时,变量 'scheme' 没有链接到字符串 'default'?
“vimscript”或“viml 脚本”或其他(很难命名)实际上只是一系列 Ex 命令,有时称为“冒号命令”。
这些命令中的大多数,例如 :colorscheme
,只直接将字符串作为输入,甚至不尝试计算 variables/expressions:
colorscheme scheme
在您的示例中,scheme
被视为字符串,而不是变量,因此您当然会收到错误消息,因为您没有名为 scheme
的颜色方案。
在那些相对常见的情况下,变量必须在传递给 Ex 命令之前进行评估。这是通过 :help :execute
和 :help expr-..
运算符完成的:
execute 'colorscheme ' .. scheme
我想在 vimscript 中更改配色方案,例如:
let g:scheme = "default"
colorscheme scheme
我收到以下错误:
colorscheme "scheme" cannot be found
为什么当我执行 :colorscheme 命令时,变量 'scheme' 没有链接到字符串 'default'?
“vimscript”或“viml 脚本”或其他(很难命名)实际上只是一系列 Ex 命令,有时称为“冒号命令”。
这些命令中的大多数,例如 :colorscheme
,只直接将字符串作为输入,甚至不尝试计算 variables/expressions:
colorscheme scheme
在您的示例中,scheme
被视为字符串,而不是变量,因此您当然会收到错误消息,因为您没有名为 scheme
的颜色方案。
在那些相对常见的情况下,变量必须在传递给 Ex 命令之前进行评估。这是通过 :help :execute
和 :help expr-..
运算符完成的:
execute 'colorscheme ' .. scheme