侧边栏壁纸
博主头像
翠南山 博主等级

行动起来,活在当下

  • 累计撰写 11 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

PowerShell中增加fzf支持

居不正
2023-07-14 / 0 评论 / 0 点赞 / 169 阅读 / 0 字

背景

在Windows进行开发的时候,有时候需要使用终端指令做一些操作,例如查看一下当前文件、ssh登录等。这些操作大多数情况下是相同的,因此,如果可以使用指令的历史记录的话,可以极大得提升效率。下面是几种情况得对比:

  1. 不带任何配置的情况 image.png
  2. 带PSReadLine配置的情况 image.png
  3. 带fzf并使用fzf的情况(快捷键CRTL-Rimage.png

从上面三种表现来看:

  1. 第一种无任何提示,只能手动的输入命令;
  2. 第二种有有限的提示,可以协助输入最近输入的命令;
  3. 第三种可以列出历史,而且可以使用模糊查找;

可以发现,fzf可以很好的输入历史的指令。

说明

fzf介绍

首先,我们大概了解下fzf是什么东西。根据官网介绍,fzf是一个通用的命令行模糊查找工具。其优点是:

  1. 绿色的,无依赖;
  2. 灰常快;
  3. 功能强大;
  4. 灵活布局;
  5. 内置的(各种编辑器插件和自动补全功能);

如何安装

接下来,我们就安装一下fzf。因为,我们本文主要是介绍Windows平台,因此,只对Windows平台做介绍。Windows安装主要分为两种方法:

  1. 下载预编译的二进制;
  2. 使用包管理器安装;

下载二进制

下载

进入到下载页面,选择下载的版本,例如fzf-0.42.0-windows_amd64.zipimage.png

然后解压后放到一个文件夹,例如桌面。

添加环境变量

在环境变量中添加刚才的位置,例如桌面: image.png 打开PowerShell,输入fzf --version。(这里为了更好演示是添加环境变量起作用,下载了一个同安装好的不同版本的fzf)

image.png 如果是上面的输出,表示安装成功。

使用包管理器

对于包管理器,个人建议使用Windows官方的winget。只需要在终端中输入以下命令即可安装: image.png

安装完成后可以看到,其会在环境变量中自动添加,只需要重启终端即可使用fzf。 image.png

添加补全提示

安装完成后,按下CTRL-R并不会触发上面的效果。这时候还需要安装PowerShell的包PSFzf才可以使用。打开PowerShell,输入Install-Module -Name PSFzf,然后根据提示选择是或者否。(本人安装好了,因此没有提示) image.png 安装完成后,输入下面的命令:Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r',然后按下CTRL-R即可使用。

加入Profile

使用编辑器打开Profile文件,例如在命令行输入notepad.exe $PROFILE,然后输入以下指令:

if(Get-Module -ListAvailable -Name "PSFzf" -ErrorAction Stop) {
    Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r'
}

保存。然后重启PowerShell,皆可生效。

0

评论区