Windows Powershell Vim 键绑定

Windows Powershell Vim 键绑定

有没有办法在 powershell 中获取 vim 键绑定,就像在 bash 或 zsh 中使用以下命令一样

set -o vi

答案1

现在你有几个选择。使用默认控制台,你可以在 Windows 上运行 Vim(如果你安装了 git 或其他工具,你可能已经拥有它了)。为了使集成更加无缝,请将其放入你的 PowerShell 配置文件中:

$VIMEXEPATH    = "c:\<location>\vim.exe"

Set-Alias vim  $VIMEXEPATH
Set-Alias vi   $VIMEXEPATH

我还建议将以下内容添加到您的vimrc文件中,以便它使用 PowerShell 本身执行 shell 命令。

set shell=powershell
set shellcmdflag=-command

否则,目前唯一支持 Vi 模式的 ISE 是读取行现已推出PS画廊

使用说明但简而言之,对于 VI 模式,您需要将以下行添加到您的 ISE 配置文件中。

Set-PSReadlineOption -EditMode vi

请注意,Vi 支持是在 1.2 版中添加的,但 1.1 版随 Windows 10 一起发布。您需要使用 -force 参数来更新发布(即手动安装)版本。

答案2

PSReadline 模块提供了此功能。

安装很简单,不确定要求是什么,但我认为至少 Windows 10 提供此方法。如果您没有 OneGet 或不确定,您可以按照以下说明操作PSReadline

在不提升权限的情况下安装 PSReadline

Install-Module PsReadline -Scope CurrentUser

检查您是否有 powershell 配置文件

Test-Path $PROFILE

如果你不创建一个

New-Item -Type File $PROFILE

在 ISE 中打开 $PROFILE

ise $PROFILE

添加此行

Set-PSReadlineOption -EditMode vi

重新加载 $PROFILE 或者仅重新启动 powershell

& $PROFILE

答案3

我不会发誓 Powershell 中没有允许这样做的未记录功能,但据我所知,答案是否定的。至少我从未在 Powershell 文档中看到任何表明这是可能的内容。

JR

答案4

powershell 引擎现在提供了钩子以使这变得相对简单,但我不知道有谁已经这样做了。

PSReadln 项目有一个新兴的 emacs 模式,尽管它还处于起步阶段。在 PSReadln 中添加 vi 模式是显而易见的事情,但我没有时间去做这件事。

相关内容