[Python] PyCMD が素晴らしい

pycmd-06.jpg

cmd.exe のエクテンションとして動作するコマンドライン
 PyCMD { lgpl }
が素晴らしい。

主な特長としてタブ補完、パスの短縮表示に emacs スタイルのキーバインドなどが挙げられますがヒストリーなんかはセッションを越えて記憶してくれたりしちゃいます。

大きく分けて以下のようなフィーチャーが存在します。

 a. Tab completion
    - when several completions are possible, list them instead of cycling
      through them
    - insert/remove quotes as needed
    - complete executables from the PATH and internal CMD.exe commands
    - complete names of environment variables, including pseudo-variables
    - expand values of environment variables when completing

 b. Command history
    - the history is persistent across PyCmd sessions
    - one can search through the history (type a few filter characters, then
      Up/Down)
    - reordering is more intuitive than cmd's default strategy

 c. Command editing
    - support emacs key bindings
    - Copy-Paste using the keyboard (Ctrl-C/X/V or Emacs-style)
    - Undo/Redo with Ctrl-(Shift-)Z (regular style) or Ctrl-_ (Emacs-style)
    - smart word-by-word navigation

 d. Other
    - show a highlighted prompt to make the buffer content more readable
    - smart prompt that abbreviates directory names to save screen space
    - Shift-PgUp/PgDn to scroll the buffer
    - history of recently visited directories (Alt-Left/Right/D on empty line)
    - expand ~ as %HOME% or %USERPROFILE%
    - Ctrl-D on an empty line closes PyCmd
    - show the current working directory in the window title