
Instalei o Windows Vim e adicionei a seguinte função ao meu .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"
}
Quando digito winvim, sou informado de que não existe esse arquivo ou diretório. No entanto, se eu digitar o caminho explicitamente no cygwin, o vim será executado conforme o esperado.
O que há de errado aqui?
Responder1
Ao definir o valor de win_vim_path
, você precisaqualqueraspas simples ou barras invertidas para escapar dos espaços/parênteses, mas não ambos.
local win_vim_path=/cygdrive/c/Program\ Files\ \(x86\)/Vim/vim73/vim.exe
ou
local win_vim_path='/cygdrive/c/Program Files (x86)/Vim/vim73/vim.exe'
A versão citada é preferida por ser mais fácil de ler e digitar.
Responder2
Da memória:
local win_vim_path="$(cygpath -u "$PROGRAMFILES")/Vim/vim73/vim.exe"