PSFzf¶
Der Fuzzy Finder unter Windows.
Denn wir sollten zuerst natürlich eine Windows-Binary für Fzf bereitstellen.
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.