如何在 vim 中运行 Unix 命令?
答案1
进入命令模式Esc,然后运行:!unix_command
。任何以:
感叹号开头的提示符运行的!
命令都将作为 unix shell 命令运行。您将看到输出,并可以按下某个键返回 vim 中的工作。
如果您在可视模式下选择了文本并希望将其作为 STDIN 发送到命令,请点击!!
并输入命令。命令的结果将替换您选择的文本。
答案2
从VIM 帮助镜子:
:shell :sh[ell] start a shell
:! :!{command} execute {command} with a shell
如果你正在运行 neovim 或 vim 8.1 或更高版本,那么还有终端。
:terminal :terminal {cmd} open a terminal window
答案3
除了上述答案之外,您还可以使用当前 vim 缓冲区内容作为 shell 命令的标准输入:%!
。
例如,假设您想要从当前 vim 窗口内容中过滤出仅包含包含子字符串的行ca
。您可以使用:
:%! grep ca
这将自动过滤行,并将 grep 输出放置在当前行上。
答案4
您必须使用以下方式切换到文件导出模式::Vexplore
,:Sexplore
或:Explore
(全部接受路径作为参数)。
然后您可以%
按创建常规文件或d
目录。系统将提示您输入名称。
这是 VIM 原生的方式,无需运行外部 shell。