截至目前,我已将以下内容放入我的.vimrc文件中,以便在终端的屏幕标题中显示当前打开文件的名称:
autocmd BufEnter * let &titlestring = expand("%:@")
set title
是否也可以设置特定标签标题?也就是说,当我在Mac上的终端中打开了许多vim选项卡时,当我选择了与文件相关的选项卡时,我会终端在终端头中显示目录路径,我想只显示该名称文件在标签的标题中。
答案 0 :(得分:5)
我个人很难在vim中使用制表符。您可以通过设置一些选项来实现您想要的。在我谈论选项之前,我会说你想做的事情可能不方便。因为在vim中,tab是一组窗口,这意味着它可以有分割的窗口,在标签页中,你可以显示多个缓冲区。也就是说,在标签页中,它并不总是显示一个文件。当您在标签页中从拆分切换为拆分时,标题标签的和都可能会发生变化。
例如,您的vim中有3个目录,/one /two and /three
和两个标签页。
现在你有:
tab1:
/one/file1
tab2 (in split-windows):
/one/file1
/two/file1
/three/file1
当您在tab1
时,您的终端标题为/one
,标签1标签为file1
,很好。但是当你在tab2中时,你的终端标题会随着你从分割切换到分割而改变。在此示例中,选项卡标签与file1
相同,因此您必须检查终端窗口和选项卡标签,以了解您当前正在编辑的缓冲区/文件。我认为这不方便。
好的,如果您希望这种情况发生,:h setting-tabline
并查看帮助文本中的示例,它会显示如何设置标签的标签。这应该达到你在终端vim的目标。
仅供参考,要获得父目录名称,您可以使用%:p:h
。要获得唯一的文件名,您可以使用%:p:t
。
另外,您可能还想检查一些其他事项:
TabEnter
。:h setting-tabline
如果您希望标语显示一些复杂的文字或其他突出显示:h expand()
和:h filename-modifiers