Windows Powershell Vim键盘绑定


Answers:


11

这些天,您有两种选择。使用默认控制台,您可以仅在Windows上运行Vim(如果已安装git或其他工具,可能已经安装了Vim)。为了使集成更加无缝,将其放置在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 Gallery上可用的PSReadLine

使用说明,但对于VI模式,您需要在ISE配置文件中添加以下行。

Set-PSReadlineOption -EditMode vi

请注意,Vi支持是在Windows 10的1.2中添加的,而1.1是Windows 10附带的。您将需要使用-force参数来更新运输(也称为手动安装)的版本。


1
在PowerShell 5中通过PsReadline添加了对vi模式的支持。请参见下面的@strings答案...
Lucas

有没有一种方法可以更改光标,以便查看您是处于普通模式还是插入模式?
bradgonesurfing

我不这么认为,但是在前一周发布了版本2的另一个Beta。因此,您可以尝试一下,如果不存在,我会尝试询问维护者,这可能会激励他们支持它(并继续进行总体开发)
Lex

9

PSReadline模块提供了此功能。

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

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

Install-Module PsReadline -Scope CurrentUser

检查您是否拥有Powershell配置文件

Test-Path $PROFILE

如果您不创建一个

New-File -Type File $PROFILE

在ISE中打开$ PROFILE

ise $PROFILE

添加此行

Set-PSReadlineOption -EditMode vi

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

& $PROFILE

1
这是新项目文件
Alex

1

我不会发誓Powershell没有一个未记录的功能允许这样做,但是据我所知,答案是否定的。至少我在Powershell文档中从未见过任何暗示这一点的建议。

JR



0

现在,powershell引擎提供了使这些操作相对简单的挂钩,但是我还不知道有谁做过。

尽管PSReadln项目尚处于起步阶段,但它具有新兴的emacs模式。在PSReadln中添加vi模式将是显而易见的事情,但我没有时间专门研究它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.