我知道可以使用以下命令在不同的行打开单个文件:
vim foo.c +123
vim +123 foo.c # same result
Run Code Online (Sandbox Code Playgroud)
可以使用以下命令打开多个文件:
vim foo.c bar.c
Run Code Online (Sandbox Code Playgroud)
但我怎样才能将这两个动作结合起来呢?vim +123 foo.c +456 bar.c不起作用,bar.c在第一行而不是 456 处打开。
我看到Vim:在不同的行上打开多个文件,但这会打开不同的选项卡,而我习惯于:prev导航:n。
我不知道是否有更简单的方法,但这里有一个非常简单的解决方法,并且不会影响您的工作流程,因为您不是选项卡用户。
\n\n.vimrc首先,在您的问题中设置一个自动命令tabo[nly]首先,在输入 vim 后立即
autocmd VimEnter * tabo\nRun Code Online (Sandbox Code Playgroud)接下来,使用链接问题中的解决方案在多个选项卡中打开文件
\n\nvim +123 foo.c +"tabnew +456 bar.c"\nRun Code Online (Sandbox Code Playgroud)因此,在幕后发生的情况是,vim 在选项卡中打开文件,但立即关闭除最后一个之外的所有文件。所有打开的文件都应该在您打开的缓冲区中可用。
\n\n即使您在没有多个文件的情况下正常打开 vim,此功能也可以正常工作(您将看到一条无害的消息 \xe2\x80\x94“已经只有一个选项卡页”\xe2\x80\x94,该消息在下一次击键时消失)。另外,由于该命令仅在VimEnter,因此它不会阻止您稍后在会话中使用选项卡(如果您愿意)。