如何在终端标题上显示我当前正在用vim编辑的文件的名称?


20

我正在单个终端上编辑位于同一文件夹中多个选项卡中的多个文件。

pwd(我当前正在使用的目录)显示在终端标题的顶部,但不显示我正在编辑的文件的名称。当使用同一目录中的多个文件时,它会造成混乱。

除了之外,如何在终端顶部显示当前文件的名称pwd

我在12.04 LTS vim的bash shell中运行gnome-terminal


1
使用什么编辑器进行编辑?在哪个外壳中?哪个终端模拟器?
terdon 2014年

@terdon-使用Vim,bash Shell,xterm模拟器进行编辑
malhar 2014年

2
编辑您的问题以添加额外的信息,它很难阅读且容易在评论中遗漏。然后,您可以通过@在用户名前添加评论并在用户名前加上来ping请求信息的用户。例如,要ping我:@terdon
terdon 2014年

xterm没有标签。您确定是xterm吗?echo $TERM如果这样做的话,通常不会返回终端仿真器的名称。
terdon 2014年

@terdon是的,我确实使用过echo $ TERM。它输出“ xterm”。我正在使用64位ubuntu 12.04 LTS默认终端。还有其他方法可以检查模拟器的详细信息。
malhar 2014年

Answers:



8

如果在一个vim会话中切换文件/缓冲区,当前(接受)的答案将不起作用。标题将不会更新。

以下是足够的,当你使用切换文件具有自动更新的标题中的gnome-terminal也:e foo.txt:b0:b#,等。

只需将其放在您的~/.vimrc文件中:

autocmd BufEnter * let &titlestring = ' ' . expand("%:t")             
set title

系统:Ubuntu 14.10,vim 7.4.273,gnome-terminal 3.6.2-0ubunt。


之后不set title应该在同一条线上|吗?
维克托·谢尔吉安科

相关问题:退出vim后要恢复标题,请添加set titleold=.vimrc
维克托·谢尔吉安科

5

只需添加

set title

给你~/.vimrc

示例标题:testfile(〜/ Documents)-VIM


1
那是最适合我的答案,而且是最短的答案。
user10089632 '18

1

您可以通过以下方式在选项卡中附加正在编辑的文件的名称:

  1. 转到终端顶部的菜单。终端->设置标题->在此处添加当前正在编辑的文件的名称

例如,当您打开终端时,终端的标题仅显示“〜”。pwd显示/ home / xxx /

假设您正在此位置编辑文件ABC.cpp,可以通过在“设置标题”字段中附加“ /ABC.cpp”将选项卡的标题设置为“〜/ ABC.cpp”。

同样,您也可以对其他选项卡重复此操作。


4
您每次编辑另一个文件时都会进行这些更改吗?听起来很痛苦……
RaduRădeanu2014年

0

如果重命名缓冲区,这也会更改窗口标题:

set title
augroup WindowTitleGroup
  autocmd!
  autocmd BufEnter,BufFilePost * let &titlestring = expand('%:t')
augroup end

将命令放在一组中可以避免多次采购时多次执行命令vimrc

这与vim-eunuch很好地配合使用,使您可以使用来重命名文件:Rename

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.