我已将<C-J>
和<C-K>
映射到Vim中的上一个/下一个标签页。
有时当在Vim中打开太多选项卡时,它将仅显示选项卡标签中当前选项卡文件名的最后几个字符。切换标签时,我迷失了我正在查看的文件。 (我已禁用状态行。)
如何将<C-J>
绑定到“切换标签并显示当前文件名”?
我尝试了:map <C-J> :tabNext<CR>:f<CR>
,但无济于事。
答案 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次分割没有任何问题。您可能需要阅读以下帖子:
制作映射的两个一般规则:
:map
变为:nmap
<Plug>
或<SID>
映射,否则可能正在使用:noremap
变体,例如nnoremap
,xnoremap
等。使用此功能可以防止递归映射。这意味着:
map <c-j> ...
变为:
nnoremap <c-j> ...
答案 1 :(得分:0)
根据vim wikia,您可以在状态行中添加:echo @%
命令进行打印。如果要将其存储在日志中,您甚至可以使用echom
代替echo
。