我想在 Vim 脚本中执行一个外部命令,但我不知道该怎么做。例如我需要使用chmod
命令更改文件权限(请假设应用程序有足够的权限来运行命令)
有什么办法可以做到这一点?
我想在 Vim 脚本中执行一个外部命令,但我不知道该怎么做。例如我需要使用chmod
命令更改文件权限(请假设应用程序有足够的权限来运行命令)
有什么办法可以做到这一点?
如果您希望用户看到输出(或与命令交互):!
是正确的命令。对于静默执行(我认为您chmod
的system()
. 特别是在 Windows 上,这可以避免弹出必须手动关闭的命令提示符。
:call system('chmod +x ' . shellescape(fname))
您可以使用:!
vim 命令。例如,echo 'Hello, World!'
要从 vim 内部(因此也在 vim 脚本中),输入
:! echo 'Hello, World\!'
在 vim. 或者,在 vim 脚本中,您可以只输入
! echo 'Hello, World\!'
你需要 \ 之前的原因!是因为 vim 对 ! a 的参数中的字符!命令。如果您运行的命令不包含任何 ! 字符,那么你不需要转义它。
如果您想更深入地了解此内容,可以键入
:help :!
正如@FDinoff 所说,在vim 中。
我首选的方式是 pushCtrl-z
或 run:sus
来暂停 vim 进程,然后你可以在 shell 中做任何你想做的事情。
完成后,运行fg
(前台)以恢复您的 vim 会话。
更多信息可以在这里找到。