在vim中可以为命令行使用创建拆分视图吗?


12

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


3
有插件和/或补丁程序可以完成此任务。但是您迟早会遇到一些怪癖。我的建议是改用功能齐全的轻量级终端,或使用screen / tmux。
马可(Marco)

vim8有内置终端模式..在这里看到:superuser.com/a/1312655/658319
alpha_989

Answers:


9

与Emacs不同,Vim在使用shell时要尽量减少一些。它没有选择将交互式外壳程序包含在其中一个选项卡或缓冲区中的选项。

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

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

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

在此处输入图片说明

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


8

Vim 8内置了终端模式。

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

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

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

注意:您的VIM8必须具有+terminal此功能。


7

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

vim -O file_a.js file_b.js

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

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


5
尽管这不能回答原始问题,但此回答确实可以回答我的Google搜索查询。:)
Mihai AlexandruBîrsan17年

同上-谢谢!
CaseyR


3

我一直在寻找这个东西,我可以说没有什么是真的可能。我已经为vim尝试了许多插件/附件,但是没有人按照我的意愿工作。

这是一个很好的:ConqueTerm

但是,它与颜色有些不一致。试试看,也许对您有用。



1

您可以使用NeoVim,它具有类似于emacs的内置终端模式(尽管非常新)-这使您可以像其他vim缓冲区一样将其放置在窗口中

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.