Vim 我怎样才能像gf一样,但在一个新的垂直分裂?

Vim 我怎样才能像gf一样,但在一个新的垂直分裂?,vim,Vim,在vimgf中,打开当前窗口中光标下的文件名f执行相同的操作,但会在新窗口中打开它。但是,此新窗口是通过水平拆分创建的 我如何做同样的事情,并得到一个垂直分裂 我尝试了各种可行的选择(如:vsplit+normal\gf),但有一个小问题:如果文件不存在,无论如何都会创建一个新窗口。这不会发生在gf或f上。我也希望通过“在垂直拆分上的光标下打开文件”命令实现这种行为。我如何才能做到这一点?以下是可能的映射: :nnoremap <F8> :vertical wincmd f<C

在vim
gf
中,打开当前窗口中光标下的文件名
f
执行相同的操作,但会在新窗口中打开它。但是,此新窗口是通过水平拆分创建的

我如何做同样的事情,并得到一个垂直分裂


我尝试了各种可行的选择(如
:vsplit+normal\gf
),但有一个小问题:如果文件不存在,无论如何都会创建一个新窗口。这不会发生在
gf
f
上。我也希望通过“在垂直拆分上的光标下打开文件”命令实现这种行为。我如何才能做到这一点?

以下是可能的映射:

:nnoremap <F8> :vertical wincmd f<CR>
:nnoremap:vertical wincmd f

光标下有一个文件名,点击F8,看。

这里有一个涉及5个按键的解决方案:

  • Ctrl-wv
  • 女朋友
即在正常模式下,Ctrl wv后跟gf

以下是涉及7个按键的等效解决方案:

  • :vs
  • 女朋友
也就是说,
:在命令行模式下使用vs
命令,然后在正常模式下使用gf。假设我们在正常模式下,光标已经在文件名上,完整的击键顺序是:Shift:vsEntergf

当我们在正常模式下输入Ctrl-wv或在命令行模式下输入
:vs
时,当前窗口将一分为二,两个窗口中都有相同的文件,并且光标保持在相同的位置(即,在我们要以新的垂直拆分方式转到的文件名上)。因此,如果我们现在按gf键,当前窗口将更新为我们要访问的文件


最终的结果是两个垂直分割窗口:一个是第一个文件,另一个是我们想要访问的文件。

如果我们正在玩Vim Golf,我认为获胜的解决方案是:

Ctrl-w然后f

以水平拆分方式打开相关文件

然后将其更改为垂直拆分,然后通过执行以下操作之一将活动窗口发送到屏幕的左侧或右侧

Ctrl-w然后是L(左侧的活动窗口)

Ctrl-w然后R(右侧的活动窗口)


请注意,左/右的最终击键必须为大写。其他的应该是小写的

@close voter:vim问题现在离题了吗?很抱歉。我在哪里可以问他们?我们是否应该迁移现有的4000多个问题?我的问题涉及“程序员通常使用的软件工具”,根据常见问题解答,这一点与主题有关。它们感觉像是默认行为的自然延伸<代码>映射gs:在wincmd f上方以在新的水平拆分窗口中打开文件
map gv:vertical wincmd f
在新的垂直拆分窗口中打开文件。或者
ctrl w
然后
v
,然后是
gf
@philipoghenerobobalogun感谢您的建议。我已将你的意见纳入我的答复中。