我想在Vim脚本中执行外部命令,但我不知道如何执行此操作.例如,我需要使用chmod
命令更改文件权限(请假设应用程序具有足够的权限来运行命令)
有没有办法实现这个目标?
如果您希望用户查看输出(或与命令交互):!
是正确的命令.对于静默执行(因为我认为你的需要chmod
),使用system()
是更可取的.特别是在Windows上,这可以避免弹出必须手动关闭的命令提示符.
:call system('chmod +x ' . shellescape(fname))
Run Code Online (Sandbox Code Playgroud)
您可以使用:!
vim命令.例如,echo 'Hello, World!'
从vim内部(因此也从vim脚本中)输入
:! echo 'Hello, World\!'
Run Code Online (Sandbox Code Playgroud)
在vim.或者,在vim脚本中,您可以放置
! echo 'Hello, World\!'
Run Code Online (Sandbox Code Playgroud)
之所以需要\之前的!是因为vim执行特殊处理!参数中的字符!命令.如果您运行的命令不包含任何命令!角色,那么你不需要逃避它.
如果您想深入了解这一点,可以输入
:help :!
Run Code Online (Sandbox Code Playgroud)
正如@FDinoff所说,在vim中.
归档时间: |
|
查看次数: |
6835 次 |
最近记录: |