I have just started using PowerShell instead of CMD and I can say that it is a big improvement.
The first thing I wanted to do though was to edit my profile so that I could tailor it to me.
First I listed my initial requirements
- Don’t put anything in the prompt except
>
- vi, vim, gvim should all launch gvim for editing files
- gimp should launch gimp for editing image files
<CTRL>+D
should close powershell down
First I discovered that I would have to change my execution policy for PowerShell. This was a
simple case of launching PowerShell as an administrator and entering
Set-ExecutionPolicy RemoteSigned
This lets PowerShell run local scripts but requires remote scripts to have been signed. After
doing that I closed down the Administrator PowerShell and opened one as my standard user.
To edit my profile I initially used the command:
notepad $profile
and entered the following
# Functions
# prompt function, redefines what prompt is displayed
function prompt
---
"> "
After closing PowerShell and reopening it I now had a simple ‘>’ as the prompt.
The next step was to put in the aliases for vi, vim, gvim and gimp. So I edited the profile
again and entered
# Assign vi, vim, gvim to gvim
Set-Alias vim 'C:\Program Files (x86)\Vim\vim73\gvim.exe'
Set-Alias gvim vim
Set-Alias vi vim
# Assign gimp to gimp
Set-Alias gimp 'C:\Program Files (x86)\GIMP-2.0\bin\gimp-2.6.exe'
After restarting PowerShell again I could now edit my profile by using
vim $profile
Now that I was using vim to edit my profile I could use <CTRL>+V
to insert special characters.
Which would let me put a <CTRL>+D
(^D) in my profile, specifically as an alias, though I would
still have to press <CTRL>+D
followed by <RETURN>
. Initially I tried
Set-Alias ^D exit
But that didn’t work. Ironically it wasn’t the <CTRL>+D
character causing problems, instead it
was the use of exit in an alias. The solution is to wrap exit in a function and call the function
from the alias.
# ex function, required to use exit in aliases
function ex
---
exit
# Aliases
# Assign CTRL+D to exit
Set-Alias ^D ex
That so far is my standard PowerShell profile. Here it is in one chunk incase you want to cut and
paste (remembering to replace ^D
with a proper <CTRL>+D
character).
# Functions
# prompt function, redefines what prompt is displayed
function prompt
---
"> "
# ex function, required to use exit in aliases
function ex
---
exit
# Aliases
# Assign CTRL+D to exit
Set-Alias ^D ex
# Assign vi, vim, gvim to gvim
Set-Alias vim 'C:\Program Files (x86)\Vim\vim73\gvim.exe'
Set-Alias gvim vim
Set-Alias vi vim
# Assign gimp to gimp
Set-Alias gimp 'C:\Program Files (x86)\GIMP-2.0\bin\gimp-2.6.exe'