Есть ли лучшие командные строки для Windows? - PullRequest
32 голосов
/ 30 сентября 2008

По какой-то причине командная строка Windows является «особенной», поскольку вам нужно перейти к диалоговому окну свойств, чтобы изменить его размер по горизонтали, а не просто перетаскивать угол окна, как любое другое приложение. Неудивительно, что эта функция также вошла в P-P-P-Powershell - есть ли способ обойти это через замену командной строки или взлом Windows?

Ответы [ 8 ]

30 голосов
/ 30 сентября 2008

2016 Обновление:

  • Стандартный интерфейс Windows 10 conhost имеет больше функций, включая бесплатное изменение размера, прозрачность и т. Д. (Включая cmd и powershell)
  • Я сейчас использую ConEmu (пошаговое руководство здесь ), который имеет множество функций, включая вкладки и разделенные панели.
  • Другие опции включают Cmder (который поставляется со встроенными дополнительными инструментами) и ConsoleZ (форк Console2).
  • Консоль , похоже, больше не обновляется
12 голосов
/ 09 октября 2008

Не знаю, хотите ли вы этого: Изменение размера окна консоли Powershell. Если так, я получил это недавно: просто наберите: resize и используйте клавиши со стрелками для регулировки ширины и высоты.

##
## Author   : Roman Kuzmin
## Synopsis : Resize console window/buffer using arrow keys
##

function Size($w, $h)
{
    New-Object System.Management.Automation.Host.Size($w, $h)
}

function resize()
{
Write-Host '[Arrows] resize  [Esc] exit ...'
$ErrorActionPreference = 'SilentlyContinue'
for($ui = $Host.UI.RawUI;;) {
    $b = $ui.BufferSize
    $w = $ui.WindowSize
    switch($ui.ReadKey(6).VirtualKeyCode) {
        37 {
            $w = Size ($w.width - 1) $w.height
            $ui.WindowSize = $w
            $ui.BufferSize = Size $w.width $b.height
            break
        }
        39 {
            $w = Size ($w.width + 1) $w.height
            $ui.BufferSize = Size $w.width $b.height
            $ui.WindowSize = $w
            break
        }
        38 {
            $ui.WindowSize = Size $w.width ($w.height - 1)
            break
        }
        40 {
            $w = Size $w.width ($w.height + 1)
            if ($w.height -gt $b.height) {
                $ui.BufferSize = Size $b.width $w.height
            }
            $ui.WindowSize = $w
            break
        }
        27 {
            return
        }
    }
  }
}
3 голосов
/ 30 сентября 2008

Это не совсем то, что вы ищете, но способ, которым я могу обойти это, заключается в использовании безжизненного режима Cygwin для X-Windows и XTerms. Я предпочитаю среду командной строки unix больше, чем Windows env, а окна XTerm действуют так же, как и любое другое окно.

Что касается прямых замен, быстрый поиск в Google показывает это:

Я не пробовал их, так что я не уверен, есть ли у них то, что вы ищете, но они, возможно, стоит попробовать.

3 голосов
/ 30 сентября 2008

Если вы не против установить Cygwin, вы можете использовать его с xterm или rxvt. Вы также сможете использовать Bash в качестве оболочки вместо cmd.exe, что намного лучше.

2 голосов
/ 29 октября 2012

Путь после свершившегося факта, но тем временем ситуация улучшилась. ConEmu легко настраивается и может быть изменен по горизонтали и вертикали. Он имеет несколько странное (для меня в любом случае) поведение при изменении размера шрифта при изменении размера окна. Здесь обсуждается здесь . И Скотт Хансельман написал об этом , включая интеграцию с FarManager.

2 голосов
/ 22 августа 2010

PowerShell v2.0 поставляется с интерактивной оболочкой, называемой интегрированной средой сценариев PowerShell (ISE). Это не фантастика, но обычно лучше, чем консольная подсистема.

Good

  • Включает редактор сценариев PowerShell с раскрашиванием

  • Раскраска как тип в приглашении

  • У меня может быть несколько сеансов PowerShell, включая удаленные сеансы, в качестве вкладок.

  • ISE поддерживает PowerShell, поэтому я могу управлять им и расширять его с помощью PowerShell. Например, см. «IsePack», который добавляет массу функций, включая копирование в виде HTML.

  • Можно легко масштабировать текст

  • Обычное изменение размеров Windows, перемещение курсора, выделение, копирование, вставка, шрифты и т. Д.

Bad

  • Интерактивные консольные приложения блокируют ожидание ввода и, таким образом, зависают.

  • Консольные приложения, которые определяют, перенаправлены ли их стандартные операции ввода-вывода, будут думать, что это так, и, таким образом, действуют странно. Наихудшим является tf.exe из TFS. Например, команда «tf submit» будет отправлять без запроса, даже если это GUI, а не CLI.

  • Ограниченная функция из коробки. Очевидно, что они хотели бы сделать гораздо более богатую среду разработки PowerShell, но этого не сделали.

0 голосов
/ 20 октября 2008

Если вы установите свойство «Размер / Ширина / Размер экранного буфера», то при появлении запроса выберите «Изменить ярлык, запустивший это окно», он запомнит ширину буфера. Затем, когда вы запустите другую командную строку, она будет, например, исходной шириной 80, но теперь вы можете растянуть ее до того значения, для которого вы установили ширину буфера.

Командная строка не переносится при текущей ширине окна, только при ширине буфера. Таким образом, если вы установили ширину буфера равной 120, но ширина окна составляет всего 80, строки будут перенесены на 120, и вам придется прокручивать, чтобы прочитать символы после 80.

0 голосов
/ 30 сентября 2008

Вы можете рассмотреть возможность установки FAR . Это отличный файловый менеджер в текстовом режиме и многое другое. Его также можно изменить, перетащив угол окна:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...