是否有具有类似智能 bash 自动完成/命令历史记录的 Windows 命令行?

是否有具有类似智能 bash 自动完成/命令历史记录的 Windows 命令行?

我最近开始使用 bash,并发现了一些非常棒的功能(不一定是开箱即用的,但可以配置):

  • 向上/向下箭头支持部分完成:输入“git”,按向上箭头,您将浏览以“git”开头的最近命令(甚至在之前的会话中!)
  • Ctrl-R 将搜索您的命令历史记录(由于某种原因称为 reverse-i-search)
  • 我确信,还有很多我不知道的事情。

有没有适用于 Windows 的、支持此类功能的 cmd.exe 替代品?我浏览了以下热门答案:这个问题,但没有发现是否有任何流行的替代方案支持它。

答案1

下载并安装Powershell 2.0 控制台(如果您使用的是 Windows 7,则它已经安装好了)。

它支持所有传统命令以及别名、宏等……

这里有一些基本提示

power-shell 对话框

get-history:显示先前输入的命令的列表。

invoke-history 35:执行命令#35获取历史记录列表

`:按向后撇号键可插入换行符或作为 > 转义符来生成文字字符。您也可以在管道符 (|) 处换行。

Alt+Space+ E:显示编辑快捷菜单,其中包含标记、复制、粘贴、全选、滚动和查找选项。然后您可以K按 进行标记、Y复制、P粘贴、S全选、L滚动屏幕缓冲区或F在屏幕缓冲区中搜索文本。要将屏幕缓冲区复制到剪贴板,请按Alt+Space++ ES然后按Alt+Space E++ Y

Alt+ F7:清除命令历史记录。

Ctrl+ C:跳出子提示符或者终止执行。

Ctrl+ End:删除该行所有字符游标。

Ctrl+ Left Arrow|| Ctrl+ Right Arrow:一次向左或向右移动一个单词。

Ctrl+ S:暂停||恢复输出显示。

Esc清除当前行。

F1将光标在命令行上向右移动一个字符。在行尾插入上一条命令文本中的一个字符。

F2通过复制上一条命令行直至您键入的字符来创建一个新的命令行。

F3使用上一条命令行的内容完成命令行,从当前光标位置开始到行尾。

F4从当前命令行中删除字符,从当前光标位置开始直到您键入的字符。

F5向后扫描您的命令历史记录。

F7:类似于get-history。显示带有命令历史记录的弹出窗口并允许您选择命令。使用箭头键滚动列表。按 选择Enter要运行的命令,或按 将Right arrow文本放置在命令行上。

F8使用您输入的文本向后扫描命令历史记录,查找与您在命令行上输入的文本匹配的命令。

F9运行命令历史记录中特定编号的命令。按F7或时会列出命令编号get-history

Page Up/ Page Down:获取第一个/最后一个命令历史中的命令。

右键单击 如果禁用快速编辑,则显示一个编辑快捷菜单,其中包含标记、复制、粘贴、全选、滚动和查找选项。要将屏幕缓冲区复制到剪贴板,请右键单击,选择选择,然后按 Enter。

Tab/ Shift+ Tab:按 Tab 键或按 Shift+Tab 访问选项卡扩展功能,其中包括文件夹或文件名自动完成。

答案2

您不需要替换命令提示符!Windows 在命令提示符中内置了许多功能,例如:

  • 命令历史:F7F9

  • 从上一个命令中一次添加 1 个字母:F1

  • 目录和文件名的自动完成:Tab

还有更多的技巧,但你需要在 Google 上进一步搜索,因为我找不到一个有完整列表的网站。

答案3

碰杯扩展 Windows 命令行并添加以下功能

  • GNU 的 Readline 库提供强大的类 Bash 行编辑功能
  • 高级路径完成 (TAB)
  • 从剪贴板粘贴 (Ctrl-V)
  • 支持可执行文件/命令和环境变量的完成
  • 撤消/重做 (Ctrl-_ 或 Ctrl-X、Ctrl-U) 改进的命令行历史记录。在会话间持续存在
  • 可搜索(Ctrl-R 和 Ctrl-S)。历史扩展(例如 !!、! 和 !$)。使用 Lua 编写脚本完成。

答案4

掌控全局已经提到过,但是交通部/LE(子集)是自由的 CMD具有更多功能、命令和可定制性的替代品。就键盘快捷键、别名和颜色而言,它在某种程度上提供了类似 bash 的体验。

它可以执行您提到的几项操作,包括使用Up/Down箭头完成部分历史记录。 CTRL-B重复上一个命令的路径。尝试输入option以查看大量选项。

TCC/LE也非常适合控制台2

当然,你也可以在 Windows 上使用 bash赛格威

相关内容