Задание имен файлов во вкладке - PullRequest
1 голос
/ 30 августа 2011

Может кто-нибудь сказать мне, как отображать имя файла на вкладках, когда я открываю несколько файлов с помощью Vim?Наличие имени на вкладке значительно упростит переход на другие файлы.

1 Ответ

6 голосов
/ 30 августа 2011

Я думаю, что ваш вопрос был "как вы отображаете только имя файла на ярлыке вкладки". Если это был вопрос, мой ответ:

В графическом интерфейсе вы должны использовать:

:set guitablabel=%t

Однако, если vim, это становится немного сложнее. Вы должны перезаписать всю строку, используя: tabline. Я изменил пример, приведенный в : help setting-tabline , чтобы добавить желаемое поведение. Вам нужно добавить следующий код в ваш vimrc:

set tabline=%!MyTabLine()

function MyTabLine()
  let s = ''
  for i in range(tabpagenr('$'))
    " select the highlighting
    if i + 1 == tabpagenr()
      let s .= '%#TabLineSel#'
    else
      let s .= '%#TabLine#'
    endif

    " set the tab page number (for mouse clicks)
    let s .= '%' . (i + 1) . 'T' 

    " the label is made by MyTabLabel()
    let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
  endfor

  " after the last tab fill with TabLineFill and reset tab page nr
  let s .= '%#TabLineFill#%T'

  " right-align the label to close the current tab page
  if tabpagenr('$') > 1 
    let s .= '%=%#TabLine#%999Xclose'
  endif

  return s
endfunction

function MyTabLabel(n)
  let buflist = tabpagebuflist(a:n)
  let winnr = tabpagewinnr(a:n)
  let label =  bufname(buflist[winnr - 1]) 
  return fnamemodify(label, ":t") 
endfunction

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...