如何从 .bashrc 中的函数运行 Windows vim?

如何从 .bashrc 中的函数运行 Windows vim?

我已经安装了 Windows Vim,并将以下函数添加到我的 .bashrc 中:

function winvim() {
    local win_vim_path='/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/vim.exe'
    #local win_vim_args=`cygpath -w -a "$*"`
    "$win_vim_path"
}

当我输入 winvim 时,系统提示“没有这样的文件或目录”。但是,如果我在 cygwin 中明确输入路径,vim 就会按预期运行。

这里有什么问题?

答案1

设置的值时win_vim_path,需要任何一个单引号或反斜杠来转义空格/括号,但不能同时使用两者。

local win_vim_path=/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/vim.exe

或者

local win_vim_path='/cygdrive/c/Program Files (x86)/Vim/vim73/vim.exe'

引用的版本更易于阅读和输入,因此更受欢迎。

答案2

从记忆里:

local win_vim_path="$(cygpath -u "$PROGRAMFILES")/Vim/vim73/vim.exe"

相关内容