在Powershell中,如何防止每次运行命令时插入键状态都变为“覆盖”?

时间:2018-11-30 18:35:34

标签: windows powershell

首先,我知道这不是默认行为。实际上,我从未见过这样的事情,而且我是Powershell的长期用户。

在其他任何应用程序中,Insert键都没有问题。但是,在Powershell中,其初始状态为关闭或“覆盖”-几乎不再使用了。当我按下Insert将其打开并运行命令时,它随后将关闭。

当我经常按Up Arrow转到上一个命令来对其进行编辑,发现它处于覆盖模式时,这变得非常令人沮丧,这确实使我感到困惑。

我在Google上搜索并没有发现任何东西,所以我决定将其拧紧,无论如何我很快就会得到一台新的工作PC,因此我会养成每次按{{1}时都要按Insert的习惯}。效果很好-直到我切换电脑,现在在家,我习惯于习惯Enter并发疯。

此行为在所有Powershell窗口-64位,VSCode内部等中发生。

1 个答案:

答案 0 :(得分:0)

On demand答案:

  1. 检查InsertMode注册表项(和所有子项)中的HKCU\Console值。如果存在,则对于大多数类似于控制台提示符的程序,例如,对于该程序,该值应为1。如下所示(输出被简短地截断了:删除了 Ubuntu 和多个 Command Prompt ):
^^> reg query HKCU\Console /V InsertMode /S

HKEY_CURRENT_USER\Console
    InsertMode    REG_DWORD    0x1

HKEY_CURRENT_USER\Console\Command Prompt
    InsertMode    REG_DWORD    0x1

HKEY_CURRENT_USER\Console\powershell
    InsertMode    REG_DWORD    0x1

HKEY_CURRENT_USER\Console\Windows PowerShell
    InsertMode    REG_DWORD    0x1

HKEY_CURRENT_USER\Console\Windows PowerShell (x86)
    InsertMode    REG_DWORD    0x1

End of search: 9 match(es) found.
  1. 您可能需要转到 PowerShell 属性,以确保在 Options 选项卡上选中了Insert Mode(设置为开)。 / li>

PowerShell Properties

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\文件夹似乎是用来保存Windows PowerShell.lnk快捷方式的正确位置。但是,可能会有更多的PowerShell快捷方式。检查

where.exe /R "%USERPROFILE%" *Powershell*.lnk|findstr /V /C:"Shell ISE"

甚至(从命令提示符运行)

2>NUL where.exe /R C:\ *Powershell*.lnk|findstr /V /C:"Shell ISE"