【问题标题】:Vim - editor and shell side by sideVim - 编辑器和外壳并排
【发布时间】:2017-10-07 03:01:53
【问题描述】:

有没有办法在 Vim 中打开一个文本文件,并在同一个窗口中打开它旁边的 shell?

我发现自己打开一个脚本进行编辑、进行更改、关闭 Vim、运行脚本来测试它,然后一遍又一遍地再次打开 Vim。我想我可以有两个单独的窗口,一个是 shell,另一个是 Vim,但不知何故感觉很笨重(我想我太习惯于 IDE)。然而,真正的问题是我使用 SSH 连接到远程机器,并且有两个单独的窗口和两个单独的 SSH 会话似乎不仅笨拙而且实际上是错误的。有没有更好的方法,还是我被两个 Windows/SSH 会话困住了?

【问题讨论】:

  • 您可以使用tmux(或更旧的screen)将屏幕一分为二或在两个会话之间快速切换
  • 作为上一条评论的补充,见stackoverflow.com/questions/1236563/…
  • 你也可以运行:shell,但是它不适用于vim内部的分割窗口。
  • tmux 是一个很好的答案,正如已经建议的那样,但是要回答您关于多个 ssh 会话的观点,这没有任何问题。自 90 年代后期以来,我一直是系统管理员和开发人员,我几乎每天都在为许多主机做这件事。

标签: linux shell vim ssh tabs


【解决方案1】:

我会说您正在寻找的工具是tmux。 tmux 将允许您同时运行 2 个(或更多)会话,无论是在屏幕上拆分还是在您可以轻松切换的会话中。所以是的,您可以在左侧使用 vim,在右侧使用 shell,并且可以轻松地在它们之间切换。

这一切都非常方便,但是通过 ssh 远程工作时的最佳功能是,如果您失去连接,会话将继续 - 您只需重新连接,然后 tmux a 重新打开您现有的会话,包含 vim、长时间运行的安装或构建脚本,随便什么。

A quick and easy guide to using tmux

【讨论】:

  • 网站上的说明说要从 tarball 编译它——是否有一种(可能是“非官方”)简单的方法可以将它安装在远程机器上,例如与yum?我正在使用 AWS HPC 集群,因此我每天都有效地从一台全新的机器开始,并且希望避免 scping 并每天编译。 (除非我误解了它的预期用途,它实际上应该安装在我的本地机器上?)
  • 你试过yum吗?该网站非常糟糕。我一直只是在基于 Debian 的发行版上使用 apt-get install tmux 安装它。
【解决方案2】:

最快的方法是从 vim 内部调用 shell 命令(不离开它),如下所示:

:! ls -l

命令将执行,然后您将收到消息:

Press ENTER or type command to continue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-28
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多