gpt4 book ai didi

vim - 如何枚举vim中的选项卡?

转载 作者:行者123 更新时间:2023-12-04 07:41:40 24 4
gpt4 key购买 nike

Vim是非常有效率的编辑器,我每天都喜欢使用它,但是我发现在选项卡之间移动会花费更多的时间。

当我想切换到另一个标签时,我经常重复gtgT。 Vim提供了一种更好的方式来获取所需的制表符-n + gt,其中n是制表符编号。但是要使用它,您应该首先计算标签号。如果您打开许多标签,它很快就会变得无聊。

我认为枚举标签会很好。文件名前面每个选项卡上的一个数字,如下所示:

1 Readme | 2 main.c | 3 main.h | 4 process.h

我希望可以通过编辑配置或使用某些插件来配置vim。

有办法实现吗?

最佳答案

您可以使用tabline选项在vim的控制台模式下设置选项卡的标签。
请参阅:h setting-tabline的帮助,该帮助还显示了一个非常基本的最小示例,您可以根据需要进行调整,例如对于您想要的东西,我会使用类似这样的东西:

fu! MyTabLabel(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
let string = fnamemodify(bufname(buflist[winnr - 1]), ':t')
return empty(string) ? '[unnamed]' : string
endfu

fu! 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'
" display tabnumber (for use with <count>gt, etc)
let s .= ' '. (i+1) . ' '

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

if i+1 < tabpagenr('$')
let s .= ' |'
endif
endfor
return s
endfu
set tabline=%!MyTabLine()

关于vim - 如何枚举vim中的选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11366390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com