diff --git a/profile.ps1 b/profile.ps1 index 74e137a..a79fd37 100644 --- a/profile.ps1 +++ b/profile.ps1 @@ -14,27 +14,26 @@ Set-PSReadLineOption -BellStyle None -EditMode Vi Set-PSReadLineKeyHandler -Chord Ctrl+w -Function BackwardDeleteWord # TODO: Doesn't work with PSReadLine 2.1 # Hoping this gets fixed at some point and will just start working. -Set-PSReadLineKeyHandler -Chord Ctrl+[ -Function ViCommandMode -# Workaround is to use C-i instead, which is fitting with Vi I guess. -# TODO: Remove C-i if C-[ gets fixed. -Set-PSReadLineKeyHandler -Chord Ctrl+i -Function ViCommandMode +# Set-PSReadLineKeyHandler -Chord Ctrl+[ -Function ViCommandMode +# Workaournd from https://github.com/PowerShell/PSReadLine/issues/906#issuecomment-916847040 +Set-PSReadLineKeyHandler -Chord 'Ctrl+Oem4' -Function ViCommandMode -# # Change cursor shape based on what Vi mode the line editor is in. -# # Testing and works with PowerShell 5.1 -# # NOTE: Requires: Install-Module PsReadline -Scope CurrentUser -Force -# # FIXME: Doesn't work with PSReadLine 2.0 -# function OnViModeChange { -# if ($args[0] -eq 'Command') { -# # Set the cursor to non-blinking block. -# Write-Host -NoNewLine "$([char]0x1b)[2 q" -# } else { -# # Set the cursor to non-blinking line. -# Write-Host -NoNewLine "$([char]0x1b)[6 q" -# } -# } -# Set-PSReadLineOption -ViModeIndicator Script -ViModeChangeHandler $Function:OnViModeChange -# # And set the cursor to a non-blinking line on profile load. -# Write-Host -NoNewLine "$([char]0x1b)[6 q" +# Change cursor shape based on what Vi mode the line editor is in. +# Testing and works with PowerShell 5.1 +# NOTE: Requires: Install-Module PsReadline -Scope CurrentUser -Force +# FIXME: Doesn't work with PSReadLine 2.0 +function OnViModeChange { + if ($args[0] -eq 'Command') { + # Set the cursor to non-blinking block. + Write-Host -NoNewLine "$([char]0x1b)[2 q" + } else { + # Set the cursor to non-blinking line. + Write-Host -NoNewLine "$([char]0x1b)[6 q" + } +} +Set-PSReadLineOption -ViModeIndicator Script -ViModeChangeHandler $Function:OnViModeChange +# And set the cursor to a non-blinking line on profile load. +Write-Host -NoNewLine "$([char]0x1b)[6 q" # Remove these aliases to PowerShell builtins which clobber the actaul exes. Remove-Item alias:curl