[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:31922] Re: set-language-env と vi



  今屋です。三宅さん有難うございます。先のメール
と一緒に返事をかかせて頂きます。成功しました。

On Thu, 28 Feb 2002 13:12:10 +0900
miyake@xxxxxxxxxxxxxxxxxxxxxx wrote:

> alias vi ':\
>   if ( -x /usr/bin/nvi-m17n-canna ) then \
>     (setenv NEXINIT "source ~/.nexrc-m17n-canna" ;\\
>       exec /usr/bin/nvi-m17n-canna \!*) \
>   else if ( -x /usr/bin/nvi-m17n ) then \
>     (setenv NEXINIT "source ~/.nexrc-m17n" ; exec /usr/bin/nvi-m17n \!*) \
>   else \
>     \vi \!* \
>   endif\
> '

>丸括弧の中で使用されている行連結指定の \を\\にしただけですが。
>alias 指定の時に評価されるのと、
>alias 実行時に必要なためであろうか?

  cshのスクリプトは良く分からないのですが、丸括弧の中だから
2重に必要だったという可能性は僕も大だと思います。でも言われて
見なけりゃわかんなかったっす。括弧にそんなルールが有るとは。

  全然関係ない話かもしれないけど、sedやgrepの正規表現でも、
'などを扱う場合は難しい思いをしたことを思い出しました。

> `cat ~/.nextrc-m17n-canna` が "source ~/.nextrc-m17n-canna" になっているのが
> ポイントですか?

  この場合、source 〜 を実行した結果をsetenvの引数として渡すのでは
なく、source 〜 を文字列として渡すのではないでしょうか?(っていうか
僕もちょんぼしてた。)NEXINITってman page を検索してもでてこないの
で何につかうモノなのか分かりませんが。