Vim:切换选项卡时显示文件名



我已经<C-J><C-K>映射到Vim中的上一个/下一个选项卡。

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

如何将<C-J>绑定到"切换选项卡并显示当前文件名"?

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

您需要强制重绘,以便您可以使用:file.

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

有关更多帮助,请参阅:

:h gt
:h :redraw
:h :file

关于标签

Vim的选项卡不像大多数文本编辑器的选项卡。

让我重复一遍:Vim 的选项卡不像大多数文本编辑器的选项卡。

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

  • 为什么 Vim 专家更喜欢缓冲区而不是选项卡?
  • 有效使用缓冲区

Vim 映射的最佳实践

进行映射的两个一般经验法则:

  • 提供模式。所以:map变得:nmap
  • 除非使用<Plug><SID>映射,否则您可能应该使用:noremap变体,例如nnoremapxnoremap等使用此方法将防止递归映射。

这意味着:

map <c-j> ...

成为:

nnoremap <c-j> ...

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

最新更新