- 2009-11-21 (土) 0:00
- Vim Hacks
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はオプションを設定し、シェルを非対話モードで起動します。shellpipeやshellredirは、パイプやリダイレクト記号をどのように処理するかの設定です。これは好みに応じて設定して良いです。上記のように設定すると、シェルが出力した標準エラー出力もリダイレクトして、Vimが受け取ることになります。shellxquoteはシェルに引数を渡すためにクオートする記号です。shellquoteとは違い、リダイレクト記号もクオートします。Windows環境では”で囲まないと、リダイレクト記号が解釈されてしまうので、こちらを使用しなければなりません。
Comments:0
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の場合は [...]

