Merge pull request #726 from daxgames/default_aliases

Added vi/vim aliases and fixed powershell startup errors
This commit is contained in:
Martin Kemp 2015-11-24 09:26:02 +00:00
commit a9b06459da
5 changed files with 43 additions and 2 deletions

View File

@ -5,3 +5,4 @@ pwd=cd
clear=cls clear=cls
history=cat %CMDER_ROOT%\config\.history history=cat %CMDER_ROOT%\config\.history
unalias=alias /d $1 unalias=alias /d $1
vi=vim $*

View File

@ -17,3 +17,4 @@ Cmder.bat
vendor\tmp vendor\tmp
appveyor.yml appveyor.yml
vendor\cmder.sh vendor\cmder.sh
vendor\git-prompt.sh

View File

@ -117,4 +117,11 @@ if ( (Test-Path $($SaveTo + "git-for-windows/etc/profile.d") ) ) {
Copy-Item $($SaveTo + "cmder.sh") $($SaveTo + "git-for-windows/etc/profile.d/cmder.sh") Copy-Item $($SaveTo + "cmder.sh") $($SaveTo + "git-for-windows/etc/profile.d/cmder.sh")
} }
# Replace /etc/profile.d/git-prompt.sh with cmder lambda prompt so it runs when we start bash or mintty
if ( !(Test-Path $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh.bak") ) ) {
write-verbose "Replacing /etc/profile.d/git-prompt.sh with our git-prompt.sh"
Move-Item $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh") $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh.bak")
Copy-Item $($SaveTo + "git-prompt.sh") $($SaveTo + "git-for-windows/etc/profile.d/git-prompt.sh")
}
Write-Verbose "All good and done!" Write-Verbose "All good and done!"

22
vendor/git-prompt.sh vendored Normal file
View File

@ -0,0 +1,22 @@
PS1='\[\033]0;$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]' # set window title
PS1="$PS1"'\[\033[32m\]' # change to green
PS1="$PS1"'\u@\h ' # user@host<space>
PS1="$PS1"'\[\033[33m\]' # change to brownish yellow
PS1="$PS1"'\w' # current working directory
if test -z "$WINELOADERNOEXEC"
then
GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
if test -f "$COMPLETION_PATH/git-prompt.sh"
then
. "$COMPLETION_PATH/git-completion.bash"
. "$COMPLETION_PATH/git-prompt.sh"
PS1="$PS1"'\[\033[36m\]' # change color to cyan
PS1="$PS1"'`__git_ps1`' # bash function
fi
fi
PS1="$PS1"'\[\033[0m\]' # change color
PS1="$PS1"'\n' # new line
PS1="$PS1"'λ ' # prompt: always λ

14
vendor/profile.ps1 vendored
View File

@ -27,7 +27,14 @@ if( -not $env:PSModulePath.Contains($CmderModulePath) ){
try { try {
Get-command -Name "vim" -ErrorAction Stop >$null Get-command -Name "vim" -ErrorAction Stop >$null
} catch { } catch {
$env:Path += ";$env:CMDER_ROOT\vendor\git-for-windows\usr\share\vim\vim74" # # You could do this but it may be a little drastic and introduce a lot of
# # unix tool overlap with powershel unix like aliases
# $env:Path += $(";" + $env:CMDER_ROOT + "\vendor\git-for-windows\usr\bin")
# set-alias -name "vi" -value "vim"
# # I think the below is safer.
set-alias -name "vim" -value $($ENV:CMDER_ROOT + "\vendor\git-for-windows\usr\bin\vim.exe $1 $2 $3 $4 $5 $6 $7 $8 $9")
set-alias -name "vi" -value $($ENV:CMDER_ROOT + "\vendor\git-for-windows\usr\bin\vim.exe $1 $2 $3 $4 $5 $6 $7 $8 $9")
} }
try { try {
@ -78,8 +85,10 @@ if ($gitStatus) {
$cmderStartKey = 'HKCU:\Software\cmder' $cmderStartKey = 'HKCU:\Software\cmder'
$cmderStartSubKey = 'CMDER_START' $cmderStartSubKey = 'CMDER_START'
$cmderStart = (Get-Item -Path $cmderStartKey).GetValue($cmderStartSubKey) $cmderStart = (Get-Item -Path $cmderStartKey -ErrorAction SilentlyContinue)
if ( $cmderStart ) { if ( $cmderStart ) {
$cmderStart = $cmderStart.GetValue($cmderStartSubKey)
$cmderStart = ($cmderStart).Trim('"').Trim("'") $cmderStart = ($cmderStart).Trim('"').Trim("'")
if ( $cmderStart.EndsWith(':') ) { if ( $cmderStart.EndsWith(':') ) {
$cmderStart += '\' $cmderStart += '\'
@ -96,6 +105,7 @@ if ( $cmderStart ) {
Set-Location -Path "${env:HOME}" Set-Location -Path "${env:HOME}"
} }
# Enhance Path # Enhance Path
$env:Path = "$Env:CMDER_ROOT\bin;$env:Path;$Env:CMDER_ROOT" $env:Path = "$Env:CMDER_ROOT\bin;$env:Path;$Env:CMDER_ROOT"