.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"

関連情報