我有一个 Windows 批处理文件,用于使用 Notepad++ 编辑文件
@echo off
if [%1] == [] (
C:\PROG\Notepad++Portable\Notepad++Portable.exe
) else (
C:\PROG\Notepad++Portable\Notepad++Portable.exe %CD%\%1
)
它运行良好,我正在尝试对 gVim(Linux Vim 的 Windows 版本)执行同样的事情。
@echo off
if [%1] == [] (
C:\"Program Files (x86)"\Vim\vim74\gvim.exe
) else (
C:\"Program Files (x86)"\Vim\vim74\gvim.exe %CD%\%1
)
但是我需要它作为参数来编辑/创建文档的部分似乎不适用于 gVim。
它适用于 Notepad++
C:\PROG\Notepad++Portable\Notepad++Portable.exe \directory\name\editFile.txt
然后当我在 gVim 中尝试
C:\"Program Files (x86)"\Vim\vim74\gvim.exe \directory\name\editFile.txt
它没有承认论点,而是敞开了心扉。
答案1
我不太熟悉批处理文件脚本以及 Windows 命令解释器如何处理空白,但我发现将整个路径当我为创建批处理文件时,双引号中的命令对我有用全部文本Firefox 扩展:
"C:\Program Files (x86)\Vim\vim74\gvim.exe" "%1"
答案2
我刚刚意识到只有图形 Vim 不允许我通过命令行(gvim.exe)编辑文件
但是标准 Vim 似乎运行得很好(vim.exe)。我已更新我的 Windows 批处理脚本以使用它,它运行良好
@echo off
if [%1] == [] (
C:\"Program Files (x86)"\Vim\vim74\vim.exe
) else (
C:\"Program Files (x86)"\Vim\vim74\vim.exe %CD%\%1
)