我已经习惯了Emacs,但是我正在试用Vim,看看我更喜欢哪个。
我喜欢Emacs的一点是能够在Emacs内部运行终端。这在Vim内部可能吗?我知道您可以从Vim执行命令,但我希望能够在选项卡中运行终端。
我已经习惯了Emacs,但是我正在试用Vim,看看我更喜欢哪个。
我喜欢Emacs的一点是能够在Emacs内部运行终端。这在Vim内部可能吗?我知道您可以从Vim执行命令,但我希望能够在选项卡中运行终端。
当前回答
我知道我没有直接回答这个问题,但我认为这是 好方法。没有人提到tmux(或者至少没有作为一个 独立的回答)。Tmux是一种类似于屏幕的终端多路复用器。大多数 两种多路复用器都可以制作东西,但我认为这样更容易 配置。此外,tmux现在的开发比 屏幕上有相当大的生态系统围绕着它,比如有帮助的工具 配置,ecc。
同样对于vim,还有另一个插件:ViMUX,它帮助很大 两个工具之间的交互。你可以调用命令:
:call VimuxRunCommand(“ls”)
该命令在当前窗格vim下面创建一个小的水平分割 是在。
方法时,它还可以让您从提示符运行 整个命令:
<领袖> vp: VimuxPromptCommand < CR >
这还不够,至少有6个“特定平台的插件”:
Vim-vroom:用于rspec、cucumber和测试/单元的流道;通过g:vroom_use_vimux支持Vimux Vimux-ruby-test:用于轻松运行ruby测试的一组命令 Vimux - Cucumber:通过Vimux运行Cucumber Features vim-turbux:使用tmux进行Turbo Ruby测试 vimux- pytils: vimux的一组函数,允许在ipython中运行代码块 vimux-nose-test:在vimux中运行鼻子测试
这里有一个很好的“用例”:使用Vimux和Turbux与Spork和Guard进行随需测试
其他回答
如果在您的Vim版本中启用,则可以使用:term命令启动终端。
终端窗口支持被添加到Vim 8。这是一个可选特性,可以在使用+终端特性编译Vim时启用。如果你的Vim版本有终端支持,:echo has('terminal')将输出"1"。
输入:term将使您进入终端作业模式,在此模式下您可以按预期使用终端。
在Terminal-Job模式下,按Ctrl- w N或Ctrl-\ Ctrl-N将模式切换到Terminal-Normal,这允许光标移动,命令运行类似于Vim的Normal模式。若要切换回终端作业模式,请按“i”。
其他回答提到了Neovim中类似的功能。
最终,一个原生的:terminal命令于2017年添加到vim中。
下面是:terminal自述的节选:
此特性用于在Vim窗口中运行终端模拟器。一个 作业可以连接到终端模拟器启动。例如, 运行一个shell: :任期bash 或者运行build命令: :term make myprogram 作业从Vim异步运行,窗口将更新为 在另一个窗口中编辑时显示作业的输出。
我承认我并没有严格地回答你的问题,但是对我来说,在同一个窗口中使用Vim和终端时工作得更好的是Tmux(这是一种“在后台运行的软件”,类似于屏幕,尽管这个更适合分割和制表符)。
这篇文章将帮助你理解它们是如何一起工作的:“Tmux和Vim -更好的一起工作”。
通过这种方式,我们可以将Vim转换为强大的IDE
:sh然后按Ctrl+D返回(bash)
更新:
您可以将vim中的Ctrl+D映射为run:sh,这允许您在bash和vim之间快速切换。
noremap <C-d>:sh<cr>
我知道我没有直接回答这个问题,但我认为这是 好方法。没有人提到tmux(或者至少没有作为一个 独立的回答)。Tmux是一种类似于屏幕的终端多路复用器。大多数 两种多路复用器都可以制作东西,但我认为这样更容易 配置。此外,tmux现在的开发比 屏幕上有相当大的生态系统围绕着它,比如有帮助的工具 配置,ecc。
同样对于vim,还有另一个插件:ViMUX,它帮助很大 两个工具之间的交互。你可以调用命令:
:call VimuxRunCommand(“ls”)
该命令在当前窗格vim下面创建一个小的水平分割 是在。
方法时,它还可以让您从提示符运行 整个命令:
<领袖> vp: VimuxPromptCommand < CR >
这还不够,至少有6个“特定平台的插件”:
Vim-vroom:用于rspec、cucumber和测试/单元的流道;通过g:vroom_use_vimux支持Vimux Vimux-ruby-test:用于轻松运行ruby测试的一组命令 Vimux - Cucumber:通过Vimux运行Cucumber Features vim-turbux:使用tmux进行Turbo Ruby测试 vimux- pytils: vimux的一组函数,允许在ipython中运行代码块 vimux-nose-test:在vimux中运行鼻子测试
这里有一个很好的“用例”:使用Vimux和Turbux与Spork和Guard进行随需测试