第4章 Windows 10のアプリケーション - CUI派にはうれしいコマンドプロンプトの刷新
DOS時代のシェルからコマンドラインインタプリタとして進化した「コマンドプロンプト」だが、その存在は中途半端だった。DOSの実装を引き継ぎつつも大幅な拡張は行われず、Microsoftは短所を埋めるためにWSH(Windows Script Host)やPowerShellをリリースしている。だが、スクリプト言語の体系が大きく異なるため、いまだにコマンドプロンプトを愛用するユーザーは少なくない。その結果、Windows 2000以来変わることのなかったコマンドプロンプトは、Windows 10でいくつかの機能強化を施した。
プロパティダイアログを開くと<オプション>タブの「編集オプション」セクションに、<Ctrlキー ショートカットキーを有効にする><貼り付け時にクリップボードの内容をフィルターする>と2つの新項目を確認できる。まず前者は項目名からも分かるように[Ctrl]キーを使ったショートカットキーを使用可能にするというもの。
上図で示したようにWindowsでは定番の[Ctrl]+[C]キーをコピーに割り当てるなど、全体的な統一性を意識したキーバインドだ。また、選択モードを実行する[Ctrl]+[M]キーはマウスでコマンドプロンプト上をドラッグしたような選択を可能にしている。編集モードに入ると[Shift]+各矢印キーでカーソル移動と選択を行う仕組みだ。vimのビジュアルモードほどではないが、それなりに使える機能に仕上がっている。ちなみに、すべてのショートカットキーを列挙できなかったため、Microsoftの公式ブログも合わせて参照頂きたい。
後者の設定項目は、貼り付け時にクリップボード中に含まれる制御文字を除外するというもの。例えばTabコードが行の先頭に含まれている場合、そのままコマンドプロンプトに貼り付けるとファイル名の補完機能が動作してしまう。このようなトラブルを未然に防ぐため、本設定項目を用意したのだろう。なお、「""(ダブルコーテーションマーク)」の変換処理なども行われる。
他方で「テキスト選択」セクションには、<行の折り返し選択を有効にする><テキスト選択キーを拡張する>の2項目が新たに加わった。前者は選択時の動作が"ブロックモード"から"ラインモード"に切り替わると述べると分かりやすいだろう。初期状態ではコマンドプロンプト上の文字列選択は矩形になるため、全体をコピーしてからテキストエディターで編集した方が早かった、という経験をお持ちの方は少なくない。
そこで本設定を有効にすると行単位で選択するため、ログファイルから一部分だけを取り出す際も内容を崩さずにコピー&ペーストできるようになる。なお、いずれの状態でも[Alt]キーを押しながら操作することで設定とは逆の動作になるため、よく使う方法を選択し、[Alt]キーを併用した方が使いやすくなるだろう。
後者はコマンドラインの選択方法を拡張し、[Shift]キーなどを押しながら選択範囲を拡張しているショートカットキーを有効にする設定項目だ。こちらは下図を先にご覧頂こう。例えばコマンドラインに任意のコマンドを入力し、未選択の状態で[Ctrl]+[A]キーを押すと1行を選択、さらに押すと全体を選択する。だが、1文字でも選択している場合に同ショートカットキーを押すと、コマンド部分のみ選択する仕組みだ。
さらに<画面の色>タブには「不透明度」セクションを設け、コマンドプロンプトの透過度を設定できるようになっている。こちらは設定以外にもショートカットキーが利用可能なため、バッチ処理など実行中のコマンドプロンプトは透明度を下げて放置するなど、さまざまな使い方ができそうだ。
このようにキーバインドこそ違えど、Unixのシェルでは当たり前のように用意していた機能が使えるようになったのが、新たなコマンドプロンプトの特徴である。この他にも多くのショートカットキーや、新たな設定項目がレジストリエントリーが存在するため、別の機会に改めてご報告したい。








