如何防止 VimL 字符串连接中的逗号



我有一个定义如下的对象:

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': '|' }
   }

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

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

'fugitive': '%{exists("*fugitive#statusline") ? "⎇ " . fugitive#statusline()[1:] : ""}'

相关内容

  • 没有找到相关文章

最新更新