是否可以在 vim 中创建用于命令行的拆分视图?

p11*_*00i 13 vim

我知道该选项:!ls,但我想使用拆分界面之一(使用后:sp)作为命令行窗口。这可能吗?如果是,我该怎么做?

alp*_*989 13

Vim 8 内置了终端模式。

您可以键入:ter以访问终端。

要浏览默认 shell 中的命令,请使用j,k.

您可以通过输入:h terVIM8来获取更多信息。

注意:你的 VIM8 必须有+terminal这个才能工作。


Jas*_*son 9

与 Emacs 不同的是,Vim 在处理 shell 时试图更简洁一些。它没有选项将交互式 shell 包含在其选项卡或缓冲区之一中。

虽然有解决方法。就像你一样,我真的很喜欢bash在运行 Vim 时在同一个终端会话中有一个窗口。它在编辑源文件时非常有用。就我而言,我真的很喜欢运行 Ruby REPL 环境,这样我就可以在将语句放入源文件之前对其进行测试。

我使用Tmux来完成拆分窗口。在Tmux 中,我创建了一个拆分窗口(默认键是 ctrl+b, ")。这将打开 2 个交互式 shell 会话,就像 Vim 中的拆分窗口一样。然后我在其中一个会话中运行 Vim,一切就绪。

您可以从下图中看到,我将窗口水平拆分为bash顶部,Vim 位于底部。

在此处输入图片说明

我还使用Tmux来支持与他人结对编程。您可以在我的博客http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac上阅读有关我的设置的更多信息。


J.M*_*zen 8

不确定您是在寻找 GNU 屏幕解决方案,还是使用 Vim 内置拆分的解决方案,但如果您正在寻找后者,这对我有用:

vim -O file_a.js file_b.js
Run Code Online (Sandbox Code Playgroud)

那 a 以垂直拆分打开两个文件。对于常规(水平拆分),只需使用小写字母即可-o

PS Ctrl+ ww在两者之间切换(我发现这是区分屏幕拆分和vim拆分的好方法)。

  • 虽然这没有回答最初的问题,但这个答案确实回答了让我来到这里的谷歌搜索查询。:) (5认同)

Ale*_*Nye 6

你试过屏幕吗?有什么理由不适合你?