Jak*_*keD 16
在Vim 8中,如果使用该+terminal选项进行编译,则可以水平拆分当前窗口并使用命令添加终端:terminal或:term用于简写.
如果你想垂直分割窗口,我知道的最好的方法是用:vsp或用常规垂直分割<c-w>v.然后,拆分其中一个窗口以具有终端窗口(:term),然后最终移动到较小的非终端窗口并关闭它.
编辑:...在我写完这篇文章之后,我发现如何轻松地垂直拆分终端窗口......
:vertical terminal
" OR
:vert term
Run Code Online (Sandbox Code Playgroud)
终端将以类似于插入模式的方式打开,按下<c-w>N将使您进入"正常"模式,您可以在其中定期进行Vim运动并运行Vim命令.请注意,在许多shell中(我在Bash和Zsh中肯定都知道),你可以运行set -o vi以便能够击中<c-[>或<esc>使用Vim运动.关于它的最好的部分是v在"正常"模式下击中,其中当前命令在新的Vim实例中打开并且在退出Vim时运行.
unc*_*nch 11
也许添加字符串
rightb vert term
Run Code Online (Sandbox Code Playgroud)
或者
bel vert term
Run Code Online (Sandbox Code Playgroud)
到您的.vimrc(带有编辑器设置的隐藏文件;默认情况下位于主目录中:~/.vimrc)将解决您的问题。因此,如果您输入vim file_name.txt终端,您将有两个拆分窗口:左侧 - 您的 txt 文件,右侧 - 终端窗口。
ps:您可以使用 ctrl + 双“w”(按“w”两次)在拆分窗口之间移动。
此外,根据我的经验,与 8.2 版本不同,8.0 vim 版本不支持“term”-命令。
没有插件就没办法做到这一点.以下是获得类似功能的几种方法.
:!ls从vim内部运行,您将看到当前目录中的文件列表.任何其他命令,如:!pwd或:!git add *将也可以.如果要将命令的输出读入当前的vim缓冲区,可以使用read命令.例如,如果运行:read !lsvim,则会将当前目录中的文件列表输入到光标位置的当前缓冲区中.得票最高的答案使用 vim 命令。这在 NeoVim 上不起作用(至少对我来说)。然而,它仍然相当简单:
:vsplit term://bash
term://是 NeoVim 打开终端的方式
bash是你想要使用的 shell 类型(例如我使用 zsh,所以我的命令实际上是:tabe term://zsh)
我创建的一些有用的命令:
" open terminal
if has('nvim')
command Terminal vsplit term://zsh
command TerminalTab tabe term://zsh
else
command Terminal vert term
command TerminalTab tab ter
endif
Run Code Online (Sandbox Code Playgroud)