我想在 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 会话。
更多信息可以在这里找到。