diff --git a/plugin/minibufexpl.vim b/plugin/minibufexpl.vim index e2b3348..bfd7ce5 100644 --- a/plugin/minibufexpl.vim +++ b/plugin/minibufexpl.vim @@ -1544,6 +1544,8 @@ function! BuildBufferList(curBufNum) if t:miniBufExplSortBy == "name" call sort(l:tabList, "NameCmp") + elseif t:miniBufExplSortBy == "number" + call sort(l:tabList, "NumberCmp") elseif t:miniBufExplSortBy == "mru" call sort(l:tabList, "MRUCmp") endif @@ -1976,6 +1978,21 @@ function! UpdateBufferStateDict(bufNum,deleted) call DEBUG('Leaving UpdateBufferStateDict()',10) endfunction +" }}} +" NumberCmp - compares tabs based on filename {{{ +" +function! NumberCmp(tab1, tab2) + let l:name1 = str2nr(matchstr(a:tab1, '[0-9]\+')) + let l:name2 = str2nr(matchstr(a:tab2, '[0-9]\+')) + if l:name1 < l:name2 + return -1 + elseif l:name1 > l:name2 + return 1 + else + return 0 + endif +endfunction + " }}} " NameCmp - compares tabs based on filename {{{ "