Windows下的gVim用Cygwin的bash
El grupo al cual envías entradas es un
grupo Usenet . Si envías mensajes a este grupo, cualquier usuario de Internet podrá ver tu dirección de correo electrónico
Tu respuesta no se ha enviado.
Tu entrada se ha publicado correctamente.
De:
"Ricky" <richi... @live.com>
Fecha: Fri, 20 Nov 2009 19:46:21 +0800
Local: Vie 20 nov 2009 06:46
Asunto: Windows下的gVim用Cygwin的bash
谁这样玩过,Windows下的gVim设置为用Cygwin的bash:
set shell=X:/Cygwin/bin/bash.exe
我这样设置后发现PATH中的shell脚本可以直接运行了,不仅仅是可以调用可执行文件, 这样基本和在Unix下用gvim没差别,当然PAHT要包含Cygwin/bin这个目录.
不过还是存在问题的,很多插件都用到expand()函数来展开文件的路径,对文件的路径处理需要自己修改, 比如Unix的/会被展开成\,带有空格的文件名仍然没法传递到命令中去, 懒点的办法就是把路径用引号括起来再传递给命令
我试过escape(substitute(expand("%"),"\\","/","g"), ' '), 不过好像还是没法正确传递,不管了,反正有简单的解决办法...
No dispones del permiso necesario para enviar entradas.
De:
Yongwei Wu <wuyong... @gmail.com>
Fecha: Fri, 20 Nov 2009 19:52:38 +0800
Local: Vie 20 nov 2009 06:52
Asunto: Re: [Vim-cn:3176] Windows下的gVim用Cygwin的bash
我试过,很不容易玩,后来不玩了。真想折腾,去看看这几个选项:
:help shellquote :help shellxquote :help shellslash
2009/11/20 Ricky <richi... @live.com>:
> 谁这样玩过,Windows下的gVim设置为用Cygwin的bash:
> set shell=X:/Cygwin/bin/bash.exe
> 我这样设置后发现PATH中的shell脚本可以直接运行了,不仅仅是可以调用可执行文件, > 这样基本和在Unix下用gvim没差别,当然PAHT要包含Cygwin/bin这个目录.
> 不过还是存在问题的,很多插件都用到expand()函数来展开文件的路径,对文件的路径处理需要自己修改, > 比如Unix的/会被展开成\,带有空格的文件名仍然没法传递到命令中去, > 懒点的办法就是把路径用引号括起来再传递给命令
> 我试过escape(substitute(expand("%"),"\\","/","g"), ' '), > 不过好像还是没法正确传递,不管了,反正有简单的解决办法...
--
Wu Yongwei
URL:
http://wyw.dcweb.cn/
No dispones del permiso necesario para enviar entradas.
De:
"Ricky Wu" <richi... @live.com>
Fecha: Fri, 20 Nov 2009 20:07:43 +0800
Local: Vie 20 nov 2009 07:07
Asunto: Re: [Vim-cn:3178] Re: Windows下的gVim用Cygwin的bash
我现在还没发现问题,看来要多用才遇到
都快习惯在gvim和cygwin的窗口之间切换了
-------------------------------------------------- From: "Yongwei Wu" <wuyong... @gmail.com>
> 我试过,很不容易玩,后来不玩了。真想折腾,去看看这几个选项:
> :help shellquote > :help shellxquote > :help shellslash
> 2009/11/20 Ricky <richi... @live.com>: >> 谁这样玩过,Windows下的gVim设置为用Cygwin的bash:
>> set shell=X:/Cygwin/bin/bash.exe
>> 我这样设置后发现PATH中的shell脚本可以直接运行了,不仅仅是可以调用可执行文件, >> 这样基本和在Unix下用gvim没差别,当然PAHT要包含Cygwin/bin这个目录.
>> 不过还是存在问题的,很多插件都用到expand()函数来展开文件的路径,对文件的路径处理需要自己修改, >> 比如Unix的/会被展开成\,带有空格的文件名仍然没法传递到命令中去, >> 懒点的办法就是把路径用引号括起来再传递给命令
>> 我试过escape(substitute(expand("%"),"\\","/","g"), ' '), >> 不过好像还是没法正确传递,不管了,反正有简单的解决办法...
> -- > Wu Yongwei > URL: http://wyw.dcweb.cn/
No dispones del permiso necesario para enviar entradas.
De:
Yongwei Wu <wuyong... @gmail.com>
Fecha: Fri, 20 Nov 2009 21:11:23 +0800
Local: Vie 20 nov 2009 08:11
Asunto: Re: [Vim-cn:3179] Re: Windows下的gVim用Cygwin的bash
刚试了一下,单设:
set shell=C:\cygwin\bin\bash.exe set shellcmdflag=-c set shellquote=\"
基本可以工作,但是,碰到这样的东西就出问题了:
:!echo "Hello\" & World"
主要是碰到双引号的问题会很多。在cvsmenu中,造成的结果是commit的log message一含有引号就不能正确工作。我没找到使用bash时的完美解。
2009/11/20 Ricky Wu <richi... @live.com>:
> 我现在还没发现问题,看来要多用才遇到
> 都快习惯在gvim和cygwin的窗口之间切换了
> -------------------------------------------------- > From: "Yongwei Wu" <wuyong... @gmail.com> >> 我试过,很不容易玩,后来不玩了。真想折腾,去看看这几个选项:
>> :help shellquote >> :help shellxquote >> :help shellslash
>> 2009/11/20 Ricky <richi... @live.com>: >>> 谁这样玩过,Windows下的gVim设置为用Cygwin的bash:
>>> set shell=X:/Cygwin/bin/bash.exe
>>> 我这样设置后发现PATH中的shell脚本可以直接运行了,不仅仅是可以调用可执行文件, >>> 这样基本和在Unix下用gvim没差别,当然PAHT要包含Cygwin/bin这个目录.
>>> 不过还是存在问题的,很多插件都用到expand()函数来展开文件的路径,对文件的路径处理需要自己修改, >>> 比如Unix的/会被展开成\,带有空格的文件名仍然没法传递到命令中去, >>> 懒点的办法就是把路径用引号括起来再传递给命令
>>> 我试过escape(substitute(expand("%"),"\\","/","g"), ' '), >>> 不过好像还是没法正确传递,不管了,反正有简单的解决办法...
>> -- >> Wu Yongwei >> URL: http://wyw.dcweb.cn/
--
Wu Yongwei
URL:
http://wyw.dcweb.cn/
No dispones del permiso necesario para enviar entradas.
De:
"Ricky Wu" <richi... @live.com>
Fecha: Fri, 20 Nov 2009 21:57:28 +0800
Local: Vie 20 nov 2009 08:57
Asunto: Re: [Vim-cn:3180] Re: Windows下的gVim用Cygwin的bash
这确实是个麻烦的问题,win32的vim可以直接调用bash就好了,梦想...
刚才试了下
bash.exe -c 'echo "Hello\" World"'
是可以工作的,双引号可以修改vimrun的代码解决,&这玩意儿无解
-------------------------------------------------- From: "Yongwei Wu" <wuyong... @gmail.com>
> 刚试了一下,单设:
> set shell=C:\cygwin\bin\bash.exe > set shellcmdflag=-c > set shellquote=\"
> 基本可以工作,但是,碰到这样的东西就出问题了:
> :!echo "Hello\" & World"
> 主要是碰到双引号的问题会很多。在cvsmenu中,造成的结果是commit的log > message一含有引号就不能正确工作。我没找到使用bash时的完美解。
> 2009/11/20 Ricky Wu <richi... @live.com>: >> 我现在还没发现问题,看来要多用才遇到 >> 都快习惯在gvim和cygwin的窗口之间切换了
>> -------------------------------------------------- >> From: "Yongwei Wu" <wuyong... @gmail.com> >>> 我试过,很不容易玩,后来不玩了。真想折腾,去看看这几个选项:
>>> :help shellquote >>> :help shellxquote >>> :help shellslash
>>> 2009/11/20 Ricky <richi... @live.com>: >>>> 谁这样玩过,Windows下的gVim设置为用Cygwin的bash:
>>>> set shell=X:/Cygwin/bin/bash.exe
>>>> 我这样设置后发现PATH中的shell脚本可以直接运行了,不仅仅是可以调用可执行文件, >>>> 这样基本和在Unix下用gvim没差别,当然PAHT要包含Cygwin/bin这个目录.
>>>> 不过还是存在问题的,很多插件都用到expand()函数来展开文件的路径,对文件的路径处理需要自己修改, >>>> 比如Unix的/会被展开成\,带有空格的文件名仍然没法传递到命令中去, >>>> 懒点的办法就是把路径用引号括起来再传递给命令
>>>> 我试过escape(substitute(expand("%"),"\\","/","g"), ' '), >>>> 不过好像还是没法正确传递,不管了,反正有简单的解决办法...
>>> -- >>> Wu Yongwei >>> URL: http://wyw.dcweb.cn/
> -- > Wu Yongwei > URL: http://wyw.dcweb.cn/
No dispones del permiso necesario para enviar entradas.
De:
"Ricky Wu" <richi... @live.com>
Fecha: Sat, 21 Nov 2009 12:33:54 +0800
Local: Vie 20 nov 2009 23:33
Asunto: Re: [Vim-cn:3181] Re: Windows下的gVim用Cygwin的bash
比较过bash里面和通过cmd.exe调用bash是有所不同的
echo "Hello\" & World"可以在bash里很好的运行,但通过cmd.exe就不行了,
这个方法或许可行,那就是绕开cmd.exe来调用bash:
http://code.google.com/p/puttycyg/ puttycyg可以用来代替windows console连接本地cygwin.
有两个方案,通过vimrun调用puttycyg启动bash,把命令传递给bash执行 通过vim调用puttycyg(用puttycyg替换vimrun)启动bash,把命令传递给bash执行
两种方法都试过,虽然都能启动puttycyg进入到bash命令提示符窗口,但是显然没法直接传递命令并执行 好在puttycyg是开源的,有兴趣可以改改应该可以实现,不过俺的c不咋的,就不好意思动了
--------------------------------------------------
> 这确实是个麻烦的问题,win32的vim可以直接调用bash就好了,梦想...
> 刚才试了下
> bash.exe -c 'echo "Hello\" World"'
> 是可以工作的,双引号可以修改vimrun的代码解决,&这玩意儿无解
> -------------------------------------------------- > From: "Yongwei Wu" <wuyong... @gmail.com>
>> 刚试了一下,单设:
>> set shell=C:\cygwin\bin\bash.exe >> set shellcmdflag=-c >> set shellquote=\"
>> 基本可以工作,但是,碰到这样的东西就出问题了:
>> :!echo "Hello\" & World"
>> 主要是碰到双引号的问题会很多。在cvsmenu中,造成的结果是commit的log >> message一含有引号就不能正确工作。我没找到使用bash时的完美解。
>> 2009/11/20 Ricky Wu <richi... @live.com>: >>> 我现在还没发现问题,看来要多用才遇到 >>> 都快习惯在gvim和cygwin的窗口之间切换了
>>> -------------------------------------------------- >>> From: "Yongwei Wu" <wuyong... @gmail.com> >>>> 我试过,很不容易玩,后来不玩了。真想折腾,去看看这几个选项:
>>>> :help shellquote >>>> :help shellxquote >>>> :help shellslash
>>>> 2009/11/20 Ricky <richi... @live.com>: >>>>> 谁这样玩过,Windows下的gVim设置为用Cygwin的bash:
>>>>> set shell=X:/Cygwin/bin/bash.exe
>>>>> 我这样设置后发现PATH中的shell脚本可以直接运行了,不仅仅是可以调用可执行文件, >>>>> 这样基本和在Unix下用gvim没差别,当然PAHT要包含Cygwin/bin这个目录.
>>>>> 不过还是存在问题的,很多插件都用到expand()函数来展开文件的路径,对文件的路径处理需要自己修改, >>>>> 比如Unix的/会被展开成\,带有空格的文件名仍然没法传递到命令中去, >>>>> 懒点的办法就是把路径用引号括起来再传递给命令
>>>>> 我试过escape(substitute(expand("%"),"\\","/","g"), ' '), >>>>> 不过好像还是没法正确传递,不管了,反正有简单的解决办法...
>>>> -- >>>> Wu Yongwei >>>> URL: http://wyw.dcweb.cn/
>> -- >> Wu Yongwei >> URL: http://wyw.dcweb.cn/
No dispones del permiso necesario para enviar entradas.