読者です 読者をやめる 読者になる 読者になる

cygwin上のvimからxamppのphpを実行

$ ln -s /cygdrive/c/xampp/php/php.exe /usr/local/bin/php

とした場合、zshから

$ php /cygdrive/c/Users/hoge/unko.php

を実行しても問題無いが、vim(quickrun)からphpを動かしたい場合に「Could not open input file: /cygdrive/c/Users/hoge/unko.php」と言われ失敗する。

cygwinunix)形式のパスがwindows版のphpで読めていない模様。
なのでcygpathでパスを変換してphpを実行するダミーのシェルスクリプトを用意する(超簡易版)。

$ rm /usr/loca/bin/php(既にシンボリックリンクが貼られてる場合)
$ vim /usr/local/bin/php
$ cat /usr/local/bin/php
#!/bin/sh
function args {
    while [ "$1" != "" ]
    do
        # オプション以外をcygpathする
        case $1 in
            -*)
                echo "$1"
                ;;
            *)
                echo `cygpath -m "$1"`
                ;;
        esac
        shift
    done
}
/cygdrive/c/xampp/php/php.exe `args $@`

cygpath便利。

広告を非表示にする