Vim 在选项卡中设置文件名
当我使用Vim打开多个文件时,有人能告诉我如何在选项卡中显示文件名吗?Vim 在选项卡中设置文件名,vim,Vim,当我使用Vim打开多个文件时,有人能告诉我如何在选项卡中显示文件名吗? 在选项卡上有一个名称会使更改不同的文件更容易。我想你的问题是如何在选项卡标签上只显示文件名。如果是这个问题,我的答案是: 在gui vim中,您将使用: :set guitablabel=%t 然而,如果是在vim中,它会变得更复杂一点。您必须使用:tabline覆盖整行。我修改了中提供的示例,以添加您想要的行为。您需要将以下代码添加到vimrc中: set tabline=%!MyTabLine() function
在选项卡上有一个名称会使更改不同的文件更容易。我想你的问题是如何在选项卡标签上只显示文件名。如果是这个问题,我的答案是: 在gui vim中,您将使用:
:set guitablabel=%t
然而,如果是在vim中,它会变得更复杂一点。您必须使用: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
我希望这有帮助 我想你的问题是如何在标签上只显示文件名。如果是这个问题,我的答案是: 在gui vim中,您将使用:
:set guitablabel=%t
然而,如果是在vim中,它会变得更复杂一点。您必须使用: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
我希望这有帮助 我的意思是,当我在vim中打开任何文件时,它应该显示文件名,而不是在顶部显示vim的选项卡。这段代码会这样做吗?我尝试将粘贴原样复制到我的.vimrc中,当我源.vimrc时,它会给我错误:-bash:.vimrc:line 3:意外标记附近的语法错误“-bash:.vimrc:line 3:set tabline=%!MyTabLine'在vim中打开文件是什么意思?比如vim里面的标签?或者当您从终端打开vim文件名时?该脚本用于当您使用tabnew打开一个新选项卡时,该选项卡的标签将是没有路径的文件名。另一方面,您不需要为配置文件Vimrc提供源代码。那是维姆的工作。看,是的,我指的是第一种情况。因此,如果我在vim中打开一个文件a.c,然后在vim中执行另一个选项卡并打开b.c,该选项卡应显示a.c和b.c…就像浏览器中有多个选项卡时,可以通过名称区分每个选项卡…我希望与vim中的类似…我复制了您提供的内容。。。。上面的另一行是.vimrc中的语法on,非常感谢您的解决方案。我有vim,不是gvim。。谢天谢地,Aganii的意思是,当我在vim中打开任何文件时,它应该显示文件名,而不是在顶部显示vim,这段代码会这样做吗?我尝试将粘贴原样复制到我的.vimrc中,当我创建.vimrc时,它会给我错误:-bash:.vimrc:line 3:意外标记附近的语法错误“-bash:.vimrc:line 3:set tabline=%!MyTabLine'在vim中打开文件是什么意思?比如vim里面的标签?或者当您从终端打开vim文件名时?该脚本用于当您使用tabnew打开一个新选项卡时,该选项卡的标签将是没有路径的文件名。另一方面,您不需要为配置文件Vimrc提供源代码。那是维姆的工作。看,是的,我指的是第一种情况。因此,如果我在vim中打开一个文件a.c,然后在vim中执行另一个选项卡并打开b.c,该选项卡应显示a.c和b.c…就像浏览器中有多个选项卡时,可以通过名称区分每个选项卡…我希望与vim中的类似…我复制了您提供的内容。。。。上面的另一行是.vimrc中的语法on,非常感谢您的解决方案。我有vim,不是gvim。。再次感谢