Tuesday, March 5, 2013

Re: C:/Documents\ is not recognized internal or external command

On Tuesday, March 5, 2013 9:00:47 AM UTC-6, FlashBurn wrote:
> I'm trying to run a set of settings for a project but I can't figure out what goes wrong. When I try to run make I get the following error:
>
> C:/Documents\ is not recognized internal or external command
>
> It looks like vim can't escape white space. Does anybody know how can I do that?
>
> Here is my vim script:
>
> " Setup the project home directory.
> let project_home = "C:/Documents\\ and\\ Settings/user/Projects/myproject"
> let &makeprg = project_home."/tools/make.exe"
> set cd=project_home
>
> Any help is appreciated.

Vim understands escaped spaces.

Windows does not.

Vim invokes the Windows cmd.exe shell to run makeprg.

Do you need project_home for anything else?

Try:

let raw_project_home = 'C:\Documents and Settings\user\Projects\myproject'
let vim_project_home = fnameescape(raw_project_home)
let shell_project_home = shellescape(raw_project_home)

let &makeprg = shell_project_home."/tools/make.exe"

Note that 'shellslash' on Windows, if set, will break shellescape(). So if you use that option you'll need to temporarily unset it for this.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: