有没有更好的Windows命令提示符?

出于某种原因,Windows命令提示符是“特殊的”,因为您必须转到属性对话框来水平调整它的大小,而不是像每隔一个应用程序一样拖动窗口的angular落。 毫不奇怪,这个特性也成了PPP-Powershell – 有没有办法通过命令提示符替代或Windows hackery?

2016更新:

  • Windows 10的默认conhost UI具有更多的功能,包括免费调整大小,透明度等(这包括cmd&powershell)
  • 我现在使用的ConEmu (演练在这里 )有许多功能,包括标签和拆分窗格。
  • 其他选项包括Cmder (内置附加工具)和ConsoleZ ( Console2的一个分支)。
  • 控制台似乎不再被更新

我不知道这是你想要的:调整Powershell控制台窗口。 如果是这样,我前一阵子:只需键入: 调整大小,并使用箭头键来调整宽度和高度。

## ## 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 } } } } 

如果你不介意安装cygwin,你可以在xterm或rxvt中使用它。 你也可以使用Bash作为shell而不是cmd.exe,这样更好。

这不是你正在寻找的东西,但我解决这个问题的方式是使用cygwin的无根X-Windows模式和XTerms。 我更喜欢unix命令行环境,而不是Windows的env,而XTerm窗口就像任何其他窗口一样。

至于直接替换,快速谷歌搜索显示这些:

  • 安慰
  • econsole

我没有尝试过,所以我不确定他们是否有你想要的东西,但他们可能值得一试。

PowerShell v2.0附带一个名为PowerShell集成脚本环境(ISE)的交互式shell。 这不是太棒了,但通常比控制台子系统更好。

  • 包括一个PowerShell脚本编辑器,具有彩色化

  • 在提示符处作为类型的着色

  • 我可以将多个PowerShell会话(包括远程会话)用作选项卡。

  • ISE支持PowerShell,所以我可以使用PowerShell进行操作和扩展。 例如,请参阅“IsePack”,其中增加了许多功能,包括复制为HTML。

  • 可以轻松缩放文字

  • 传统的Windows调整大小,光标导航,选择,复制,粘贴,字体等

  • 交互式控制台应用程序阻止等待输入,从而挂起。

  • 检测他们的标准IO是否被重定向的控制台应用程序会认为是这样,因此表现奇怪。 最差的是TFS的tf.exe。 例如,即使提示符是GUI,而不是CLI,'tf submit'也会提示而不提示。

  • 一个有限的功能设置了框。 很明显,他们想制作更丰富的PowerShell IDE,但是却没有。

事后的方式,但事情有所改善。 ConEmu是高度可配置的,可以水平和垂直调整大小。 在调整窗口大小的时候,对字体的大小调整有些奇怪(对我来说)。 这里有一些讨论。 Scott Hanselman已经写了这个 ,包括与FarManager的整合。

你可能会考虑安装FAR 。 这是一个优秀的文本模式文件管理器等等。 它也可以通过拖动窗口的角落来调整大小:)

如果你设置属性“布局/屏幕缓冲大小/宽度”,那么当出现提示时,选择“修改启动这个窗口的快捷方式”,它会记住缓冲区宽度。 然后,当你启动另一个命令提示符时,它将是,例如,原来的80宽,但你现在可以延伸到任何你设置的缓冲区宽度。

命令提示符不会以当前窗口宽度换行,只能以缓冲区宽度换行。 因此,如果将缓冲区宽度设置为120,但窗口宽度仅为80,则行将在120处包装,并且必须滚动才能读取超过80的字符。