【问题标题】:vim internal terminal run multiple commands at a timevim 内部终端一次运行多个命令
【发布时间】:2022-12-04 21:53:18
【问题描述】:

我创建了一些有用的 vim 命令别名,例如:

command GccAndRun gcc main.c && ./a.out

但是,最好在同一窗口中运行a.out 并检查源代码。

我这里关于vim internal terminal,我是不是写了下面这句话:

command GccAndRun terminal gcc main.c && ./a.out

但在打开的终端中给出错误消息:gcc: error: &&: No such file or directory

我不知道如何解决它。请帮我!

【问题讨论】:

    标签: vim


    【解决方案1】:

    让我们从修复您的初始命令开始,它不能按原样工作:

    command GccAndRun !gcc main.c && ./a.out
    

    现在,不幸的是,:terminal 不接受像 cmd1 && cmd2cmd1 | cmd2 这样的结构,所以你需要一个解决方法:

    • 创建一个 shell 脚本,比如 run.sh,为你执行 gcc main.c && ./a.out 并执行:

      command GccAndRun terminal run.sh
      

      优点:

      • 你可以在那个脚本里放任何你想要的东西

      缺点:

      • 如果您想传递文件名等,可能需要不平凡的脚本。
      • 污染项目
      • 依赖于项目
    • 使用 ++shell 选项,它告诉 Vim 在非交互式 shell 中运行给定的命令:

      command GccAndRun terminal ++shell gcc main.c && ./a.out
      

      优点:

      • 你可以输入你想要的任何命令
      • 不污染工程
      • 与项目无关

      缺点:

      • 不会让您处于终端模式

    :help :terminal

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 2015-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多