有没有办法在Vi / Vim内拆分窗口,以便一个窗口成为终端?
P.S。安装新文本编辑器等解决方案对我没有帮助。
答案 0 :(得分:8)
在Vim 8中,如果使用+terminal
选项进行编译,则可以水平拆分当前窗口,并使用命令:terminal
或:term
来添加终端。
如果要垂直拆分窗口,我知道的最好方法是使用:vsp
或<c-w>v
进行常规垂直拆分。然后,将其中一个窗口拆分为一个终端窗口(:term
),然后最后移至较小的非终端窗口并关闭它。
编辑:...从字面上看,我写完这篇文章后,便发现了如何轻松垂直分割终端窗口...
:vertical terminal
" OR
:vert term
终端将以类似于插入模式的方式打开,按<c-w>N
将使您进入“常规”模式,在该模式下您可以进行常规的Vim运动并可以运行Vim命令。请注意,在许多shell中(我在Bash和Zsh中都可以肯定地知道),您可以运行set -o vi
使其能够命中<c-[>
或<esc>
并始终使用Vim动作。最好的部分是在“普通”模式下按v
,当前命令在新的Vim实例中打开并在退出Vim时运行。
答案 1 :(得分:5)
没有插件就没有办法做到这一点。 以下是获得类似功能的几种方法。
:!ls
,您将看到当前目录中的文件列表。
任何其他命令(例如:!pwd
或:!git add *
)也可以使用。
如果要将命令的输出读入当前的vim缓冲区,可以使用read命令。
例如,如果运行:read !ls
,vim会将当前目录中的文件列表输入光标位置的当前缓冲区。答案 2 :(得分:1)
插件conque_term使您可以在vim缓冲区内运行shell。
但是我推荐screen linux command,当执行 Ctrl + a Esc
答案 3 :(得分:0)
也许添加字符串
rightb vert term
或
bel vert term
到您的“ .vimrc”文件将解决您的问题。
因此,如果您输入vim file_name.txt
,则将有两个拆分的窗口:左侧-txt文件,右侧-终端窗口。