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

1.環境を整える (6)より便利な環境 〜♪UnixのようでUnixでない DOSのようでDOSでない〜 【コマンドプロンプト、バッチファイルを使わなきゃならなくなった人向けのメモ】

Windows Command DOSBatch

UnixのようでUnixでない DOSのようでDOSでない
(ベンベン♪)
それは何かと問われたら ・・・
ckw と nyacus ♪ ckw と nyacus ♪


WindowsとUnixを使ってるので、Unixを使ってた期間が過ぎると
コマンドプロンプトをターミナルと思って、指勝手に
Ctrl + a,Ctrl + e,Ctrl + f,Ctrl + b,でのカーソル操作や
Ctrl + n,Ctrl + pでの履歴操作や
Shift + insertでのペーストをしてしまう。
コマンドの補完もしてくれない。


そうすると、コマンドプロンプトはこの上なく使いにくいものに
感じるのだ。


Windows版のbashないかと探してみた。
win-bashなどあるにはあるが、イマイチ。


だったら、Cygwinを使えば?というのが普通なのだろうが、
Cygwinは何となく好きじゃない。
だったらVMWareCentOSが入ってるからそれを使う。


でも、やりたいことはコマンドプロンプトをもう少しというか
ましなレベルで使いたいということ。
ただそれだけなのだ。



願いを叶えてしんぜようと神龍 googleが教えてくれた。
それは、ckw 改造版 + nyacus 改造版

この組み合わせでカーソル操作、ペースト、コマンド名の補完ができる。
bash + .bash_completionとまではいかないが
通常のコマンドプロンプトに比べれば、はるかに快適である。

  • ckw 改造版

http://d.hatena.ne.jp/hideden/20071123/1195822428

http://d.hatena.ne.jp/hideden/20071125


今までの環境設定は不要にしてしまうものだ。



機能

  • カーソル操作
    • Ctrl + a カーソルを行頭に移動
    • Ctrl + e カーソルを行末に移動
    • Ctrl + f カーソルを右に移動
    • Ctrl + b カーソルを左に移動
  • 履歴操作
    • Ctrl + n 履歴を進む
    • Ctrl + p 履歴を遡る
  • ペースト
    • Shift + insert
  • 画面のカスタマイズ
    • 半透明にできる。

インストール

ckwとnyacusを解凍したものをC:\usr\binにコピー

設定

ckw.cfg
!
! ckw setting
!

!Ckw*foreground: white
!Ckw*background: midnightblue
!Ckw*cursorColor:     green
!Ckw*cursorImeColor:  red
!Ckw*backgroundBitmap: ckw_background.bmp

Ckw*title: ckw[cmd]
Ckw*exec:  cmd.exe
Ckw*chdir: c:\

Ckw*scrollHide:  no
Ckw*scrollRight: yes
Ckw*internalBorder: 1
Ckw*lineSpace: 0
Ckw*topmost: no
!Ckw*transp: 220
!Ckw*transpColor: #000000

Ckw*font: MS Gothic
Ckw*fontSize: 12

Ckw*geometry:  80x26
Ckw*saveLines: 500

Ckw*color0:  #000000
! Ckw*color1:  #000080
Ckw*color1:  #60E9FF
Ckw*color2:  #008000
Ckw*color3:  #008080
Ckw*color4:  #800000
Ckw*color5:  #800080
Ckw*color6:  #808000
Ckw*color7:  #C0C0C0

Ckw*color8:  #808080
Ckw*color9:  #0000FF
Ckw*color10: #00FF00
Ckw*color11: #00FFFF
! Ckw*color12: #FF0000
Ckw*color12: #FFA500
Ckw*color13: #FF00FF
Ckw*color14: #FFFF00
Ckw*color15: #FFFFFF
_nya
# nya シリーズの共通設定ファイルです。
#	実行時のカレントディレクトリか、
#	環境変数HOMEの指すディレクトリに置くと
#       起動時に読みこんで実行します。
#
# 名称などを変更したい場合は、起動時に -r オプションで
# パスを指定してください。

print %0 reading ...

alias cp cp -i
alias rm rm -i
alias mv mv -i
alias bcc bcc32
alias zipinfo unzip -l
alias dir\w dir /w

suffix ny %nyatype% -f
suffix pl perl
suffix rb ruby
suffix jar java -jar
suffix awk awk -f
suffix vbs cscript
suffix js  cscript

option uncompletechar ,;=
option tilde   on
option history on
option backquote  4000
option +keep_bottom_line
# option +standalone
if $standalone = (set) then
    foreach i ( dir mkdir rmdir )
    alias $i $COMSPEC /c $i
    end
endif

bindkey CTRL_P vzlike-previous-history
bindkey CTRL_N vzlike-next-history


if %nyatype% == NYACUS then
    # NYACUS でのみ実行する部分をここに記述.
    # option start "start """""
endif
option prompt $e[31;40;1m[$p]$e[37;1m

# 関数 which の定義.
which{
    foreach dir . ${PATH.split}
        foreach ext .com .exe .bat .cmd
            if exist $dir\$1$ext then
                print found $dir\$1$ext
            endif
        end 
    end
}

### Vzライクなキーバインドにする関数
### 利用時には「vzbind」とだけの行を入れてください。
vzbind{
    bindkey CTRL_R xscript:start            xscript:pageup
    bindkey CTRL_S backward                 xscript:backward
    bindkey CTRL_D forward                  xscript:forward
    bindkey CTRL_E vzlike-previous-history  xscript:previous
    bindkey CTRL_X vzlike-next-history      xscript:next
    bindkey CTRL_F forward-word
    bindkey CTRL_A backward-word
}
# vzbind

# タグジャンプ参照コマンド設定.
#set TAGJUMP=tagjump.vbs

print done
option savehist C:\usr\var\.history

画面



右クリックに追加

HKEY_CLASSES_ROOT\Folder\shell\コマンドプロンプト(ckw)\command
  (既定)=C:\usr\bin\ckw.exe -cd "%1" -g 160x36+0+0 -tr 230 -e C:\usr\bin\nyacus.exe 

C:\usr\binにckwとnyacusを置いてるとする。