如何在 Vim 的电力线页脚中添加合成段?(新的电力线,而不是 vim-powerline) Syntastic 文档只说明如何将其添加到标准 Vim 页脚中,而我在powerline 文档中找不到如何添加它。
1 回答
这些指令中的大部分来自电力线的这个拉取请求(451)。
这个拉取请求向电力线添加了一个句法段。由于该段未合并到主电源线树中,因此您需要手动执行补丁。幸运的是,您只需要修改三个文件。(+ 表示添加行/ - 表示删除行)。查看颜色差异的拉取请求。
文件:(powerline/config_files/colorschemes/vim/default.json
第 28 行)
"line_current_symbol": { "fg": "gray1", "bg": "gray10" },
"virtcol_current_gradient": { "fg": "dark_GREEN_Orange_red", "bg": "gray10" },
"col_current": { "fg": "gray6", "bg": "gray10" },
- "modified_buffers": { "fg": "brightyellow", "bg": "gray2" }
+ "modified_buffers": { "fg": "brightyellow", "bg": "gray2" },
+ "syntastic_segment": { "fg": "brightestred", "bg": "gray2", "attr": ["bold"] }
},
"mode_translations": {
"nc": {
文件:(powerline/config_files/colorschemes/vim/default.json
第 68 行)
"groups": {
"mode": { "fg": "darkestcyan", "bg": "white", "attr": ["bold"] },
"background:divider": { "fg": "darkcyan", "bg": "darkestblue" },
- "branch:divider": { "fg": "darkcyan", "bg": "darkblue" }
+ "branch:divider": { "fg": "darkcyan", "bg": "darkblue" },
+ "syntastic_segment": { "fg": "white", "bg": "darkestblue", "attr": ["bold"] }
}
},
"v": {
文件:powerline/config_files/colorschemes/vim/solarized.json(第 27 行)
"line_current": { "fg": "gray13", "bg": "lightyellow", "attr": ["bold"] },
"line_current_symbol": { "fg": "gray13", "bg": "lightyellow" },
"virtcol_current_gradient": { "fg": "GREEN_Orange_red", "bg": "gray10" },
- "col_current": { "fg": "azure4", "bg": "lightyellow" }
+ "col_current": { "fg": "azure4", "bg": "lightyellow" },
+ "syntastic_segment": { "fg": "red", "bg": "royalblue5", "attr": ["bold"] }
},
"mode_translations": {
"nc": {
文件:powerline/config_files/colorschemes/vim/solarized.json(第 65 行)
"line_percent_gradient": { "fg": "oldlace", "bg": "gray61" },
"line_current": { "fg": "gray13", "bg": "oldlace", "attr": ["bold"] },
"line_current_symbol": { "fg": "gray13", "bg": "oldlace" },
- "col_current": { "fg": "azure4", "bg": "oldlace" }
+ "col_current": { "fg": "azure4", "bg": "oldlace" },
+ "syntastic_segment": { "fg": "lightyellow", "bg": "darkgreencopper", "attr": ["bold"] }
}
},
"v": {
文件:(powerline/segments/vim.py
第 23 行)
'expand': vim_get_func('expand', rettype=str),
'bufnr': vim_get_func('bufnr', rettype=int),
'line2byte': vim_get_func('line2byte', rettype=int),
+ 'exists': vim_get_func('exists', rettype=int),
}
vim_modes = {
在最后powerline/segments/vim.py
添加以下函数。(确保使用制表符来缩进函数。您正在修改 python 文件缩进很重要)
@window_cached
def syntastic_segment(pl):
'''Return the syntastic statusline flag
'''
if int(vim_funcs['exists']('*SyntasticStatuslineFlag')) > 0:
syntastic_flag_func = vim_get_func('SyntasticStatuslineFlag', rettype=str)
return [{
'contents': str(syntastic_flag_func()),
}]
else:
return None
完成所有这些更改后,您现在需要打开该段。一种方法是编辑配置文件~/.config/powerline/themes/vim/default.json
在该部分segments:
中,将以下内容放在右侧或左侧部分中。
{
"name": "syntastic_segment",
"before": " "
},
在所有这些更改之后,您现在应该能够看到电力线段上的综合错误输出。
故障排除:
- 如果您在 json 中引入解析错误,您可以启动 vim 以
vim --noplugin
在没有插件的情况下启动 vim 电源线不会尝试解析文件。 - 确保 json 的逗号位于正确的位置。
- 确保在编辑 python 文件时使用制表符而不是空格。