¿Cómo ejecuto Windows vim desde una función dentro de mi .bashrc?

¿Cómo ejecuto Windows vim desde una función dentro de mi .bashrc?

Instalé Windows Vim y agregué la siguiente función a mi .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"
}

Cuando escribo winvim, se me informa que "No existe tal archivo o directorio". Sin embargo, si escribo la ruta explícitamente en cygwin, vim se ejecuta como se esperaba.

¿Que esta mal aquí?

Respuesta1

Al establecer el valor de win_vim_path, necesitacualquieracomillas simples o barras invertidas para escapar de los espacios/paréntesis, pero no ambos.

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

o

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

Se prefiere la versión citada por ser más fácil de leer y escribir.

Respuesta2

De memoria:

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

información relacionada