0

我有一个像这样定义的对象:

let g:lightline = {
      \ 'component': {
      \   'fugitive': '%{exists("*fugitive#statusline") ? "⎇ " . fugitive#statusline() : ""}'
      \ },
  \ }

fugitive#statusline()is的输出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': '|' }
  \ }
4

1 回答 1

0

逃犯插件中的这段代码要么在前面加上一个逗号,要么将元素括在方括号中。这两种样式也由内置的状态行元素提供。

[1:]您可以通过从逃犯调用的结果中仅删除一个子字符串 ( ) 来删除不需要的逗号:

'fugitive': '%{exists("*fugitive#statusline") ? "⎇ " . fugitive#statusline()[1:] : ""}'
于 2017-02-09T10:04:52.580 回答