]> Sergey Matveev's repositories - dotfiles.git/blobdiff - vim/.vim/plugin/buftabline.vim
Combine all gitcommit autocmds
[dotfiles.git] / vim / .vim / plugin / buftabline.vim
index 6c4d9336bbdbc1d63ed2c8b52723bb47488d6d5c..4fb131802a35e025c992b2a148a7b3b66307f6c8 100644 (file)
@@ -1,4 +1,6 @@
-function! BufTabline()
+if exists('*<SID>BufTabLine') | finish | endif
+
+function! s:BufTabline()
     redir => bufsRaw
     silent buffers
     redir END
@@ -6,7 +8,7 @@ function! BufTabline()
     for buf in split(bufsRaw, "\n")[:16]
         let leftIdx = stridx(buf, '"')
         let rightIdx = strridx(buf, '"')
-        let filename = buf[leftIdx + 1 : rightIdx - 1]
+        let filename = substitute(buf[leftIdx + 1 : rightIdx - 1], "%", "%%", "g")
         let linenum = split(buf[rightIdx:], " ")[-1]
         let attrs = split(buf[:leftIdx-1], '\s\+')
         let attrs = map(attrs, 'substitute(v:val, "%", "%%", "g")')
@@ -19,5 +21,9 @@ function! BufTabline()
     return join(bufs, "  ")
 endfunction
 
+function! BufTabline()
+    return s:BufTabline()
+endfunction
+
 set showtabline=2
 set tabline=%!BufTabline()