windows - gvim 命令行模式 :!start [windows command] 返回 Command not found 错误信息
问题描述
我正在尝试运行将某些文件复制到新目录的vimscript(在我的vimrc中),然后我可以编译我的tex文件并返回一个pdf。我的代码有效,但它总是在每个命令上弹出命令提示符。我正在使用很多 bash 命令来执行此操作(还不太精通 vimscript)。
为了避免弹出窗口,我发现如果你在命令提示符下,输入
start /MIN copy foo.tex bar.tex
在“最小化模式”下运行命令提示符,即没有弹出窗口。但是,在 vim 中,在命令行模式下键入:
!start /MIN copy foo.tex bar.tex
返回“找不到命令”错误消息。事实上,我在 !start 之后放置的任何命令都不起作用
!start echo hi -> Command not found
但是,如果我在命令提示符下键入它,它会很好地工作。
我查看了 :help 命令行,但找不到任何东西。另外,我试过:
exe 'sav! bar.tex
但这会移动当前文件和 vim 缓冲区。我试过 :copy 和 :move,但它们只操作缓冲区中的文本。
我在 Windows 10 上运行 GUI vim 8.0。我运行的代码是(不是整个程序):
" move appropriate files
silent! exe '!start /MIN copy ' fnameescape(fileName) . ' ' . fnameescape(compileDir) . '\cur' . fnameescape(fileName)
silent! exe '!start /MIN echo ' . curDir . ' >'. compileDir .'\curDir.txt'
silent! exe '!start /MIN echo ' . fileName . ' >' . compileDir.'\fileName.txt'
silent! exe 'cd' fnameescape(compileDir)
"compile and move the pdf
silent! exe '!compile.bat'
silent! exe '!mv ' . l:Name . '.pdf ' . l:curDir
我知道这是否效率低下,但我只需要一些快速工作。当我找到它们时,我尝试使用 vim 内置函数。请注意,此代码在没有“start /MIN”的情况下可以正常工作
解决方案
推荐阅读
- ios - Xcode 中的活动监视器显示
- excel - Excel中条件格式的VBA访问代码
- dart - 如何更新 Flutter cloud_firestore 中的数组值?
- python - python selenium 白页
- jquery - jQuery 更改 FontAwesome CSS 不起作用?
- qt - 从源代码构建 Supercollider,qt 版本错误。
- docker - 在 Kubernetes 的工作节点之间共享存储/卷?
- excel - If Then, 满足条件时连接
- c# - C# Microsoft.Office.Interop.Word 无法用空格打开路径
- javascript - Javascript中的图片更改