Vim:切换标签时显示文件名

时间:2018-05-15 08:56:18

标签: vim

我已将<C-J><C-K>映射到Vim中的上一个/下一个标签页。

有时当在Vim中打开太多选项卡时,它将仅显示选项卡标签中当前选项卡文件名的最后几个字符。切换标签时,我迷失了我正在查看的文件。 (我已禁用状态行。)

如何将<C-J>绑定到“切换标签并显示当前文件名”?

我尝试了:map <C-J> :tabNext<CR>:f<CR>,但无济于事。

2 个答案:

答案 0 :(得分:3)

您需要强制重绘,以便使用:file。 e.g。

nnoremap gt gt:redraw<bar>file<cr>

如需更多帮助,请参阅:

:h gt
:h :redraw
:h :file

除了标签

Vim的标签与大多数文字编辑器一样标签。

让我再说一遍:Vim的标签与大多数文字编辑器一样 标签。

Vim的标签更像是一组窗口/分割的视口。此外,Vim以缓冲区为中心,而不像大多数编辑器那样以标签为中心。因此,如果没有标签,使用快速修复列表等功能通常会更容易(如果必须使用标签,请参阅:h 'switchbuf')。 Vim的标签经常妨碍一个好的窗户&amp;缓冲工作流,因为有更好的窗口和缓冲区导航命令可用。我个人打开了很多文件(通常是50多个缓冲区)。我很少使用标签,平均使用1-2次分割没有任何问题。您可能需要阅读以下帖子:

Vim映射的最佳实践

制作映射的两个一般规则:

  • 提供模式。因此:map变为:nmap
  • 除非使用<Plug><SID>映射,否则可能正在使用:noremap变体,例如nnoremapxnoremap等。使用此功能可以防止递归映射。

这意味着:

map <c-j> ...

变为:

nnoremap <c-j> ...

答案 1 :(得分:0)

根据vim wikia,您可以在状态行中添加:echo @%命令进行打印。如果要将其存储在日志中,您甚至可以使用echom代替echo