如何用vim在不同行打开多个文件?

Lek*_*eyn 5 vim

我知道可以使用以下命令在不同的行打开单个文件:

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

abc*_*bcd 2

我不知道是否有更简单的方法,但这里有一个非常简单的解决方法,并且不会影响您的工作流程,因为您不是选项卡用户。

\n\n
    \n
  1. .vimrc首先,在您的问题中设置一个自动命令tabo[nly]首先,在输入 vim 后立即

    \n\n
    autocmd VimEnter * tabo\n
    Run Code Online (Sandbox Code Playgroud)
  2. \n
  3. 接下来,使用链接问题中的解决方案在多个选项卡中打开文件

    \n\n
    vim +123 foo.c +"tabnew +456 bar.c"\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
\n\n

因此,在幕后发生的情况是,vim 在选项卡中打开文件,但立即关闭除最后一个之外的所有文件。所有打开的文件都应该在您打开的缓冲区中可用。

\n\n

即使您在没有多个文件的情况下正常打开 vim,此功能也可以正常工作(您将看到一条无害的消息 \xe2\x80\x94“已经只有一个选项卡页”\xe2\x80\x94,该消息在下一次击键时消失)。另外,由于该命令仅在VimEnter,因此它不会阻止您稍后在会话中使用选项卡(如果您愿意)。

\n