PSFzf

Der Fuzzy Finder unter Windows.

Github Junegunne/fzf

Denn wir sollten zuerst natürlich eine Windows-Binary für Fzf bereitstellen.

Fzf-Releases

Ich hätte das Tool fzf.exe gerne bei einem Git-Repo für meine PowerShell Umgebung von Windows:

Tool-Ordner: C:\Users\joeb\Documents\WindowsPowerShell\tools\...

Dann müssen wir natürlich den Pfad für die PowerShell erweitern, damit das Tools auch gestartet werden kann: $PROFILE

# Path for Joeb Tools - Attention: hard coded Path!
# -------------------
$env:PATH += ";C:\Users\joeb\Documents\WindowsPowerShell\tools"

Testen: Get-Command fzf.exe

Und jetzt brauchen wir den PowerShell Wrapper für fzf: das Modul PSFzf.

Install-Module -Name PSFzf -Scope CurrentUser

Wir vervollständigen noch die $PROFILE:

# PSFzf
# -----
# Windows Hilfe: https://github.com/kelleyma49/PSFzf
# Windows Fzf Binary in .\Documents\WindowsPowerShell\tools
Import-Module PSFzf
# replace 'Ctrl+t' and 'Ctrl+r' with your preferred bindings:
Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+t' -PSReadlineChordReverseHistory 'Ctrl+r'


# ============================================================================
# Functions
# ============================================================================

# PSFzf functions

# To change to a user selected directory:
function fzdir {
    Get-ChildItem . -Recurse -Attributes Directory | Invoke-Fzf | Set-Location
    }
# To edit a file:
function fzfile {
    Get-ChildItem . -Recurse -Attributes !Directory | Invoke-Fzf | % { notepad $_
    }
}

Und hier haben wir auch gleich noch ein paar spielerische Functions eingebaut, damit wir mal schnell Ordner wechseln oder Dateien öffnen können.