我有一个像这样定义的对象:
let g:lightline = {
\ 'component': {
\ 'fugitive': '%{exists("*fugitive#statusline") ? "⎇ " . fugitive#statusline() : ""}'
\ },
\ }
fugitive#statusline()
的输出为GIT(master)
,因此最终字符串最终会在我的状态行中显示为⎇ ,GIT(master)
,并带有逗号。
为什么有逗号?我们怎样才能避免使用逗号?
我使用lightline.vim来自定义状态行,整个配置如下所示:
let g:lightline = {
\ 'active': {
\ 'left': [
\ [ 'mode', 'paste' ],
\ [ 'filename', 'readonly', 'modified' ],
\ [ 'fugitive', ],
\ ]
\ },
\ 'inactive': {
\ 'left': [
\ [ 'filename', 'readonly', 'modified' ],
\ [ 'fugitive', ],
\ ]
\ },
\ 'component': {
\ 'readonly': '%{&readonly?"x":""}',
\ 'fugitive': '%{exists("*fugitive#statusline") ? "⎇ " . fugitive#statusline() . "" : ""}'
\ },
\ 'component_visible_condition': {
\ 'fugitive': '(exists("*fugitive#head") && ""!=fugitive#head())'
\ },
\ 'separator': { 'left': '', 'right': '' },
\ 'subseparator': { 'left': '|', 'right': '|' }
\ }
答案 0 :(得分:0)
This code in the fugitive plugin或者以逗号为前缀,或者将元素括在方括号中。这两种样式也由内置的状态行元素提供。
您可以通过仅使用子句字符串([1:]
)来删除不需要的逗号:
'fugitive': '%{exists("*fugitive#statusline") ? "⎇ " . fugitive#statusline()[1:] : ""}'