Home > Vim Hacks > Hack #103: シェルをNYACUSに設定する

Hack #103: シェルをNYACUSに設定する

Vimはシェルの機能を呼び出すことができます。しかし、WindowsではデフォルトのシェルがCMD.exeになっており、UNIX系のシェルと比較して見劣りがします。特に貧弱なエスケープシーケンスやリダイレクトの処理が致命的です。そのようなときはNYACUSをVimのシェルとして設定すれば、だいぶ使いやすくなるのでお薦めです。Vimは標準的なシェルを認識するようになっていますが、このHackは独自のシェルをVimに設定するときにも便利だと思います。

NYACUSとは?

NYACUSはWindows上で動作する、tcshライクなシェルです。キーバインドがtcshに似ており、lsコマンドを内蔵しています。パスは/を\に自動変換、補完も有効です。簡単なスクリプト処理も記述できますが、制御構文はまだ実装が不十分のようです。

NYACUSのシェル設定

NYACUSをシェルとして使用するため、私は次のように設定しています。

" Shell settings.
" Use NYACUS.
set shell=nyacus.exe
set shellcmdflag=-e
set shellpipe=\|&\ tee
set shellredir=>%s\ 2>&1
set shellxquote=\"

shellには、使用するシェルへのパスを設定します。shellcmdflagには、Vimからシェルを起動するときのオプションを設定します。例えばnyacusの場合、オプションなしで直接起動すると、対話モードになってしまいます。よってVimはオプションを設定し、シェルを非対話モードで起動します。shellpipeshellredirは、パイプやリダイレクト記号をどのように処理するかの設定です。これは好みに応じて設定して良いです。上記のように設定すると、シェルが出力した標準エラー出力もリダイレクトして、Vimが受け取ることになります。shellxquoteはシェルに引数を渡すためにクオートする記号です。shellquoteとは違い、リダイレクト記号もクオートします。Windows環境では”で囲まないと、リダイレクト記号が解釈されてしまうので、こちらを使用しなければなりません。

Shougo

Comments:0

Comment Form
Remember personal info

Trackbacks:2

Trackback URL for this entry
http://vim-users.jp/2009/11/hack103/trackback/
Listed below are links to weblogs that reference
Hack #103: シェルをNYACUSに設定する from Vim-users.jp
pingback from Vim | ささささ 10-02-13 (土) 23:29

[...] Vimのシェルを変更する ↑ [...]

pingback from [E2]e2esound.com:: » nyacusでxamppのphpコマンドを使う方法 10-03-03 (水) 23:31

[...] まりcmdのことですが、何かと融通が利かず使い辛い。 そんな時、vim-users.jpでHack #103: シェルをNYACUSに設定するが紹介されていました。 記事の中身は「vimから使用するシェル(winの場合は [...]

Home > Vim Hacks > Hack #103: シェルをNYACUSに設定する

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • プラグイン
  • vimrc
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top