
uratanの日記: windows が unix に対して優れている 3つのポイント 10
主に tcsh と cmd.exe で vim を使っている人間ですが、以下の通り。
[1] cmd.exe のファイル名補完
複数の候補がある時、unix 系では候補を確定する文字を入れないと
次に進まないが、cmd.exe では とにかく TAB を押せば候補が挙がる
ので TAB 何回目とかで何も考えずにファイル名を補完できる。
諸刃の剣として勢いで意図しないファイルを指定することもあるが、
べろべろに酔っ払っている時などには特に便利。
[追記] 大量の連番のファイル(xx-001, xx-002,...とか 2012-0601,
2012-0602,...とか)に対しては酔ってなくてもかなり便利
[2] ドライブレター毎に CWD を持てること
C: ドライブで作業を、ネットワークドライブにもろもろリリースした確定
済みのものを置いておくとして、ネットワークドライブをドライブレター
付きでマウントしておく。以下の手順のようにあらかじめ J: ドライブの
目的の場所まで逐次的・会話的に行っておけば、コマンドラインで
毎回長いパス名を指定しなくていいので便利。諸刃の剣として
ちゃんと確認しないと意図しない場所に行ってしまうのはご愛嬌。
C:\uratan\proj\xxx-012> J:
J:\> cd project
J:\project> cd src
J:\priject\src> cd xxx-011
J:\project\src\xxx-011> C:
C:\uratan\proj\xxx-012> diff . J:. とか
C:\uratan\proj\xxx-012> xcopy *.* J: とか
[3] ・・・忘れた・・・
なんかもう一つあったような気がしたんだけど・・・。
もちろん windows/cmd.exe に文句はたくさんあります。
[1]はbashユーザにとって棄却されるのでは? (スコア:1)
cygwinのbashが最近は主ですが.... (既定の設定でできるだけで無効化もできたんだろうけどそれは別の話)。
[2]はpushd/popdの使えるshellインタプリタを使っていればWindows Cmd.exeの優位性はそれほど感じないですがあくまで個人の感想レベル。
…なるほど、判った (スコア:1)
あなたに足りないのは、Emacs の shell mode だ。
fjの教祖様
複数の候補がある時、unix 系では候補を確定する文字を入れないと (スコア:1)
Ctrl+D でダメすか?
まとめて返信 その1 (スコア:1)
> [1]はbashユーザにとって棄却されるのでは?
> cygwinのbashが最近は主ですが
linux の bash を見てみたら、やっぱり複数候補の
分岐の所で止まりますね。デフォルトではバインド
されていない menu-complete というキーバインド(?)が
あってそれっぽいから、cygwin の bash が windows
ユーザーに馴染むようにチューンしてあるんじゃ
ないでしょうか。
> [2]はpushd/popdの使えるshellインタプリタを
一応 cmd.exe にも pushd/popd はあります。積んで戻る
だけでローテーション/スワップはできないみたいだけど。
> あなたに足りないのは、Emacs の shell mode だ。
四十うん年の人生で emacs を触ったのは延べ 3時間ぐらいですよ。
どこの環境にも事前に普通に入っているものを素の状態で味わう
という趣向がベースになってまして。
(住み慣れた環境を離れるとタダのヒト、になりにくいようにと、
emacs に来いと言っても他人は来ないけど、
cmd.exe で出来るよ、というとやってみる人が多いだろうから)
> ギャルゲ・エロゲを動かすのに苦労する事が少ない
これに限らず windows は楽な部分も多いですよね。
得体が知れない部分も多いですが。
(ファイルが消えない→dllcache なんて最近知りました)
> これは tcsh と cmd.exe の比較ですね
> ユーザー数の多さが一番の魅力
おっしゃる通りで。CUI なら unix! なはずなのに、
windows の方が気持ちいいところ、だったわけです。
> [2]のような離れたディレクトリを操作するときのために、
> カレントディレクトリを環境変数に設定
よくよく調べたら tcsh は pushd に対してシェル変数 pwd と
owd に 今と前の wd が保存されるみたいなので、
とかやれそうだけど…微妙に違和感が…、まずは体で覚えないと…。
あと tcsh にもデフォルトではバインドされていない
complete-word-fwd / complete-word-back というキー
バインド(?)があるようで、順繰りに候補になるように
できるように見えます。
まとめて返信 その2 (スコア:1)
>Ctrl+D でダメすか?
unix 式だと、連番ファイル/日付のファイルがたくさん
ある時に、ほとんど補完が意味なくなるです。
win 式だと、TAB 押して待ってれば何とかなる。
リピートも効きますし、SHIFT+TAB で戻れるし。
>たった一つの冴えた使い方
ジェイムズ・ティプトリー・ジュニアですか?
泣けますよね、あれ。
もしかして? (スコア:1)
>あと tcsh にもデフォルトではバインドされていない
>complete-word-fwd / complete-word-back というキー
>バインド(?)があるようで、
これで順繰り候補になることまでは確認しました。
unix 系がこれを採用しないのは、歴史と伝統もありましょうが、
端末ベースなので <SHIFT>+<TAB> が識別できなくて、
選択しないのではなく できない のではないかと・・・。
[3]つめ・・? (スコア:1)
これ思い出したけど、使いたいと思ったことはあったけど
実際に使ったことはないなぁ。
エントリーは無理だ。
もっとも優れている点 (スコア:0)
ギャルゲ・エロゲを動かすのに苦労する事が少ない
逆に言えばギャルゲ・エロゲ専用OSとしての性能が高い
Re:もっとも優れている点 (スコア:1)
シナリオ選択肢まで
エンターキーをひっぱたかなくてもゲームを進めてくれる
[CapsLk] キーのたった一つの冴えた使い方
を教えてくれた恩恵は計り知れない。
以上、いいところ探しモード。そうでもしないと褒めようがない使い方ともいう。
これは tcsh と cmd.exe の比較ですね (スコア:0)
Windows と unix を比較して、Windows の優れている点を考えるなら、ユーザー数の多さが一番の魅力。アプリケーションが開発されるのもユーザー数が多いから。
最近は unix で作業をしてないが、[2]のような離れたディレクトリを操作するときのために、カレントディレクトリを環境変数に設定するエイリアスを作ってた。あと cd はディレクトリスタックを操作するものにエイリアスしていた。もちろん無制限に pushd していると面倒なことになるのでスタックには限定した数しかディレクトリが残らないようにする設定。それから、カレントディレクトリとデイレクトリスタックトップとのエクスチェンジは便利だった記憶がある。
そんなに難しいものじゃなかったはずだからちょっと考えてみたら?