代码之家  ›  专栏  ›  技术社区  ›  Martín Fixman

我怎样才能打开vim窗口内的外壳?

  •  92
  • Martín Fixman  · 技术社区  · 15 年前

    我可以在vim中使用:shell命令打开一个shell,但是我不能编辑一个文件,同时使用这个shell。

    有没有办法在许多窗口(或选项卡)中拆分vim,并在其中一个窗口中打开shell?

    10 回复  |  直到 7 年前
        1
  •  45
  •   Félix Adriyel Gagnon-Grenier    10 年前

    这取决于你的操作系统-实际上我没有在微软的windows上测试它-但是 Conque 是最好的插件之一。

    事实上,它可以更好,但有效。

        2
  •  31
  •   prater    7 年前

    在晚些时候,但作为一个有用的提示,人们谁到这里通过谷歌。

    Neovim和Vim8现在通过 terminal 命令。

        3
  •  19
  •   vladv    15 年前

    :vsp :sp -将vim拆分为两个实例,但不能在其中一个实例中使用:shell。

    为什么不显示终端的另一个选项卡,而不是vim的另一个选项卡。如果你喜欢这个主意,你可以试试: Ctrl-shift-t. 在他们之间移动 Ctrl - pageup Ctrl - pagedown

    如果只需要几个shell命令,可以在vim中使用 !

    例如 :!./a.out .

        4
  •  8
  •   ahfoss Eelvex    10 年前

    如果你还没有发现,你可以使用 screen plugin .

    Conque 也很特别,但我发现屏幕更实用(例如,它不会“丢弃”缓冲区,你可以在缓冲区中编辑命令后发送你真正想要的命令)

        5
  •  7
  •   ZyX    15 年前

    你可以使用 tmux screen (Second只能执行水平拆分而不使用修补程序)以拆分您的终端。但我不知道如何在两个窗格中都有一个vim实例。

        6
  •  5
  •   chriz    7 年前

    我想这是一个相当古老的问题,但现在是在2017年。我们有neovim,它是vim的一个分支,添加了终端支持。

    如此调用 :term 会打开一个终端窗口。与使用tmux(终端多路复用器)相比,此解决方案的优点在于,您将拥有与 vim 设置。Neovim与Vim兼容,因此基本上可以复制和粘贴 .vimrc 它会起作用的。

    更多的优点是你可以在打开的终端上切换到正常模式,你可以进行基本的复制和编辑。我想它对git提交也非常有用,因为缓冲区中的所有内容都可以在auto-complete中使用。

    我将更新这个答案,因为vim还计划发布终端支持,可能在vim 8.1中。您可以在此处跟踪进度: https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM

    一旦发布,我相信这是一个比使用tmux更好的设置。

        7
  •  3
  •   kuroz    11 年前

    寿光 VimShell ,如果与neocomplcache一起使用,它可以自动完成文件名

        8
  •  1
  •   Thomas Baruchel    10 年前

    不完全是你想要的,但是你可能对我的插件感兴趣 vim-notebook 它允许用户保持后台进程的活动性,并使其评估当前文档的一部分(并在文档中写入输出)。它旨在用于包含要评估的代码片段的笔记本式文档。

        9
  •  0
  •   mrcybul    9 年前

    你可能想打开一个“屏幕”程序, 分屏,一个打开外壳,另一个打开VIM。 对我有用。

        10
  •  0
  •   Arturo Ruiz Mañas    9 年前

    我正在使用tmux。

    安装:sudo apt get install tmux 运行它:TMUX

    ctrl+b后跟ctr+%:它将终端窗口分成两个垂直的部分。

    ctrl+“箭头左箭头右”:在端子之间移动。