私はUNIXでターミナルを伸ばすのが大好きです。Windows lameコマンドラインの背後にある歴史または理由は何ですか?
14 に答える
そうではありません。タイトル バーを右クリックしてプロパティを選択し、[レイアウト] タブで画面バッファ サイズ (行幅とスクロールバック) とウィンドウ サイズ (ビューポート サイズ) を変更できます。ショートカットから cmd を開始した場合は、今後のセッションのためにこれらの設定を保存できます。
限定されていません。
- cmd.exe を実行します。
- 画面左上のアイコンをクリックします。
- プロパティを選択
- [レイアウト] タブを選択します。
- バッファとウィンドウの幅を好きなように設定します。
- [OK] をクリックします。
- 今後のためにプロパティを保存... を選択します。
- [OK] をクリックします。
Consoleをチェックアウトすることをお勧めします。タブ付き環境で複数のシェルを実行できるオープン ソース アプリです。シェルのアルファ透明度を設定することもできます。
RE: MS は多くのことよりも「下位互換性」を重視しているため、この場合、標準の 80 ワイド ウィンドウがない場合に何らかの形で人々を不安にさせるというのは、見当違いの信念だと思います。
ただし、下位互換性はかなりひどいものです。Microsoft がその実装についてかなり徹底していたとは思えませんし、Microsoft は新しいバージョンが古いバージョンで動作しないようにするためのポスターボーイだと思います. COMMAND.COM の下では多くのことが適切に機能せず、その有用性が大幅に損なわれます。言うまでもなく、一部のプログラムを適切に実行するには DOSONLY を入力する必要があります。また、Microsoft は便利なコマンドを削除しています。正直なところ、マイクロソフトが「下位互換性」を高く評価しているとは思えません。
さらに、行の長さが標準の 80 桁である本当の理由は、ほとんどのコマンド ライン プログラムなどは、ユーザーが 80 桁のプロンプトで制限されていることを前提として動作するためだと思います。フォーマットエラーやさらに悪いことに、プログラムが完全に壊れる可能性があります。
jmucchiello が述べたように、必要に応じて MODE でウィンドウのサイズを変更できます。
システム デバイスを構成します。 シリアルポート: MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s] [to=オン|オフ] [xon=オン|オフ] [odsr=オン|オフ] [octs=on|off] [dtr=on|off|hs] [rts=on|off|hs|tg] [idsr=on|off] デバイスの状態: モード [デバイス] [/ステータス] リダイレクト印刷:MODE LPTn[:]=COMm[:] コード ページの選択: MODE CON[:] CP SELECT=yyy コードページステータス: MODE CON[:] CP [/STATUS] 表示モード:MODE CON[:] [COLS=c] [LINES=n] Typematic rate: MODE CON[:] [RATE=r DELAY=d]
ただし、CONFIG.NT で DOSONLY を有効にしている場合、COMMAND.COM を開くと、cmd.exe から適切な DOS スタイルの行解像度が継承されますが、COMMAND.COM 内から MODE を呼び出すことはできません。COMMAND.COM 内でサイズを変更する場合は、次のように 16 ビットのアセンブリ命令を使用する必要があります。
80x50 ライン解像度(フレームバッファなし、SVGA なし、実質的に広くサポートされています。)
デバッグ A100 MOV AX,1112 知力10 知力 20 G Q
132x60 ライン解像度(フレームバッファなし、SVGA が必要。ATI gfx カードでは動作しません。通常は nVidia gfx カードで動作しますが、Intel 統合 gfx カードでは常に動作します。)
デバッグ A100 ムーヴ AX,4F02 MOV BX,010C 知力10 知力 20G Q
COMMAND.COM でこれを入力すると、指定された解像度が得られます。(警告: お使いのモニターがこのモードをサポートしていないほど古いものである場合は、それを破棄してしまう可能性があります。補足: Windows を実行できる場合、モニターは問題ないはずです。 ;-) ただし、DOSONLY を有効にせずにこれを使用すると、COMMAND.COM は、アプリケーションが起動するとすぐに以前のサイズにサイズ変更されます (この場合、ファイルとそれを実行すると、DEBUG) が終了します。
別の方法として、DOSONLY に設定された COMMAND.COM の下で適切に動作する FreeDOS の MODE.COM を使用することもできます。公式 Web サイト (freedos.org) のディスク イメージから取得するか、次の URL で入手できます。http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/ .
Eric Auer 2003-2005 による新しい FreeDOS MODE。ライセンス: GPL。(バージョン 2005 年 5 月 12 日) MODE [デバイス] [/STA[TUS]] (1 つまたはすべてのデバイスのステータスを表示) MODE LPTn[:] cols[,[lines][,retry]] (cols または cpi、6/8 lpi、p または n を再試行) MODE LPTn[:] [COLS=...] [LINES=...] [RETRY=...] (再試行: p 無限 / n なし) MODE LPTn[:]=[COMn[:]|NUL] (プリンター データをシリアル ポートまたは NUL にリダイレクト) MODE COMn[:] ボー、パリティ、データ、停止、再試行 (空の値を許可) モード COMn[:] [ボー[ハード]=...] [パリティ=...] [データ=...] [停止=...] [再試行=...] ボーは一意のプレフィックスに省略でき、パリティは o/e/n/s/m にできます。 後者の 2 はスペース/マークを意味し、データは 5..8、ストップ 1..2 にすることができます。再試行は無視されます! 計画: 再試行 b/e/r -> ビジー/エラー/ビジーの場合は準備完了、p/n 無限/再試行なし。 MODE CON[:] [CP|CODEPAGE] [/STA[TUS]] (FreeDOS DISPLAY をロードする必要があります) MODE CON[:] [CP|CODEPAGE] REF[RESH] (表示が必要) MODE CON[:] [CP|CODEPAGE] SEL[ECT]=数字 (DISPLAY が必要) MODE CON[:] [CP|CODEPAGE] PREP[ARE]=((コードページ) ファイル名) (DISPLAY が必要) PREP=((,cp2,cp3,,cp5) ...) を使用して、他のバッファーにコードページを準備します。 MODE [40|80|BW40|BW80|CO40|CO80|MONO][,rows] (行は 25、28、43、または 50 にすることができます) フォントのみを変更する場合は、「行」の値として 8、14、または 16 を使用します。 MODE [CO40|CO80|...],[R|L][,T] (CGAを左右にシフト、Tはインタラクティブモード) MODE CON[:] [NUMLOCK|CAPSLOCK|SCROLLLOCK|SWITCHAR]=値 値は、ロックの場合は + または -、switchar の場合は文字です。 MODE CON[:] [COLS=...] [LINES=...] (可能な値はハードウェアによって異なります) MODE CON[:] [RATE=...] [DELAY=...] (デフォルトレート 20、デフォルト遅延 1) レートは 1..32 で 2..30 文字/秒、遅延は 1..4 で 1/4..4/4 秒です。
私が提供した ASM コードと同じ理由で、CONFIG.NT ファイルに DOSONLY を追加して COMMAND.COM で実行しない限り、ウィンドウは MODE.COM が終了するとすぐに元のサイズに戻ります。
最後に、他の人が述べているように、コマンド プロンプトのタイトル バーを右クリックし、[プロパティ] -> [レイアウト] を変更するだけで、これらの設定を変更することもできます。同様に、CMD.EXE およびバッチ ファイルへのショートカットの解像度を設定できます (ショートカットを右クリック -> [プロパティ] -> [レイアウト])。これは CMD.EXE でのみ機能しますが、COMMAND.COM では機能しません。
私がいつも使っているウィンドウサイズを修正する簡単なコマンド:
wmic
Windows Management Instrumentation コマンド ラインが開き、サイズ制限が削除されます。次に、Ctrl+で閉じCます。
その背後にある歴史はわかりませんが、PuTTy の作成者によるこのウィッシュリスト アイテムは、不完全ではないあらゆるタイプの cmd.exe 置換に関連する技術的なハードルを説明する興味深い投稿です。
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html
あなたは代替品を探しているとは言いませんが、もしそうなら、Console 2や JP Software の Take Command などのcmd.exe の代替品をチェックしてみてください。 PuTTy を cygwin シェルとして使用できるようにする Cyg。
他の回答が示すように幅は制限されていませんが、マウスで高さをドラッグしてサイズ変更できるのに、幅ではできないのはいつも奇妙です。
デフォルトの 80 文字幅は、端末の幅が 80 文字を超えないことを前提とする古いプログラムとの互換性に関連していると思います。ただし、これが10年ほどの間、現実的な理由ではなかったと思います.
他の人が指摘しているように、幅が 80 文字に制限されているわけではありませんが、デフォルトで 80 文字になっている理由は、CRT ディスプレイが幅 80 文字だった DOS 時代から残っているためだと思います。
Console2などの別の端末アプリケーションを使用することもできます。これにより、必要に応じてウィンドウのサイズを変更できます (特に、透明度や、必要なフォントを使用する機能など)。これは素晴らしいアプリケーションです。私はそれに切り替えましたが、今ではcmd.exe
絶対に必要な場合にのみ使用しています。
上下だけでなく左右にもスクロールするため、システムで最初に行うことは、幅を 180 に定義して保存することです。スタック トレースをほとんどラップする必要がないようにするには、これで十分ですが、大量のスペースを消費するほどではありません。
その間、垂直サイズ (スクロールバック バッファー) をすべて 9 に設定します。あなたはいつの日か喜んでくれるでしょう。
MS は多くのことよりも「下位互換性」を重視しているため、この場合、標準の 80 ワイド ウィンドウがない場合、何らかの形で人々を不安にさせるというのは間違った信念であると思われます。
もちろん、固定の 80 文字幅にプログラムされていた可能性もありますが、それはほぼ普遍的であり、追加のプロパティ設定はちょっとしたハックでした。
Unix/GNU ライクな開発に必要なあらゆる機能の使いやすさと機能を改善すると、Microsoft のパートナー向けの商用プラットフォームとしての Windows が弱体化するからです。これを防ぐということは、改善された端末などの開発者向けの他の大企業の製品や、ワープロ、ビデオプレーヤーなどの他の一般的なサードパーティ製品が、既存の Unix/GNU ソフトウェアと競合しないことを意味します。これがなければ、Windows は収益性の高いプラットフォームではなくなり、Microsoft はデスクトップの独占を失うことになります。
これが、端末がひどい理由であり、POSIX API がなく、MSVC で C99 がサポートされておらず、リストが続きます。明確にするために、一般的な Unix/GNU テクノロジと開発は、大規模な商用ソフトウェア ハウスがそれらと競合する必要がないように、意図的にサポートされていません。