0
私はそうのように定義されたオブジェクトを持っている: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': '|' }
\ }
をなぜあなたはプラグインの課題追跡にそれを聞かないのですか? – romainl
@romainl私は文字列の連結と関係があると感じているので。私が '' foo ''をする時。 fugitive#statusline() '、結果は' foo、GIT(master) 'ですが、' fugitive#statusline()を実行した場合です。 "foo"なら、結果は 'GIT(マスター)foo'でカンマなしです。私が '' foo ''をしたら。 fugitive#head() 'とすると、結果はカンマなしの' foomaster'になります!それは、私が文字列の連結について考えただけではわからないかもしれないと私に信じさせました。それはプラグインに関連していない可能性が高いようです。 – trusktr
@romainlによれば、この問題は 'vim-fugitive'から来ています。 [これらのソースコードの行](https://github.com/tpope/vim-fugitive/blob/444ba9fda5d05aa14c7e8664fa4a66a59c62a550/plugin/fugitive.vim#L3033-L3037)を参照してください。 – dNitro