[英]Vim Running Terminal Command Automatically
我正在尝试编写一个命令(在 vim rc 中)自动创建一个新的拆分并启动一个终端(即通过执行:Term),然后在该终端上自动执行一些 bash 命令(特别是“conda activate”)
这是我走了多远:
command CustomTerminal execute "vsplit ." <bar> execute "Term"
如何扩展此命令,使其在此终端上管道并执行一些 bash 命令?
我看到您的命令定义存在以下问题:
:execute
在这里; <Bar>
也仅在映射中需要vsplit.
创建目录列表; 这是故意的吗?:Term
命令? 打开终端的内置命令是:terminal
:term
自行执行(水平)拆分; 它的:help:terminal
提到如果要垂直拆分 window,请使用:
:vertical terminal
:terminal
命令已经接受可选的 shell 命令。 如果这是您所需要的,您可以轻松扩展您的自定义命令以获取并传递此参数:
:command -nargs=? CustomTerminal vertical terminal <args>
请参阅:help:command-nargs
和:help <args>
。
此外,您可以通过-complete=shellcmd
添加:help:command-completion
。
如果要运行多个命令然后关闭终端,那么要重用单个终端 session,您必须按照:help terminal-to-job
将命令从 Vim 发送到终端(由交互式 Z25254918B70124BFE 接收)应用程序当前正在运行)。 它看起来像这样:
call term_sendkeys(buf, "ls *.java\<CR>")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.