在我们使用 Powershell 的时候,有很多命令很长,或者调用第三方应用程序,需要敲全名,不是很方便,通过设置别名来简化操作,提升效率。
我使用的编辑器是 VSCode,下文中 code xxxx
表示是使用 VSCode 编辑文本
步骤
使用 Powershell 的 Set-Alias
功能和 Function
定义函数,来组合使用生成别名
详见 Set-Alias
微软文档说明: Set-Alias
例如
我是用的是 VSCode 的预览版,命令行打开 VSCode 需要输入 code-insiders
, 我想用 code
来代替它:
Set-Alias -Name code -Value code-insiders
那么函数是如何使用的呢?
比如,我想用 VSCode 打开命令行当前路径的文件夹,我需要输入 code .
,但是我想用 c
代替:
# 函数中启动 ”code“ 参数是 ”.“
Function CODEHERE {
Start-Process -FilePath "code-insiders" -ArgumentList "."
}
# 将 CODEHERE 函数设置别名为 c
Set-Alias -Name c -Value CODEHERE
演示
下面是我自己常用的命名
全局设置:
code $PsHome\profile.ps1
打开 profile.ps1
文件,这个文件会在每次启动 powershell 的时候调用
在 profile.ps1
文件尾部加入
# Base
Set-Alias -Name code -Value code-insiders
Set-Alias -Name open -Value explorer
# Adv
Set-Alias -Name c -Value CODEHERE
Set-Alias -Name o -Value OPENHERE
# Define
Function OPENHERE { Start-Process -FilePath "explorer" -ArgumentList "."}
Function CODEHERE { Start-Process -FilePath "code-insiders" -ArgumentList "."}
# CDPATH
$gitwork = $env:GITWORK_PATH
$mindmotion = $env:GITWORK_PATH + '\mindmotion'
$mindmotionliuyq = $env:GITWORK_PATH + '\mindmotion\liuyq'
$mindmotionliuyqmb = $env:GITWORK_PATH + '\mindmotion\liuyq\mb_pcb'
$liuyq = $env:GITWORK_PATH + '\liuyq'
$github = $env:GITWORK_PATH + '\github.com'
$appdev = $mindmotion + '\app_dev'
$downloads = 'D:\User\Downloads'
$documents = 'D:\User\Documents'
$wechatfiles = $documents + '\WeChat Files\qingsao123\FileStorage\File'
Function CDGITWORK { Set-Location -Path $gitwork }
Function CDMINDMOTION { Set-Location -Path $mindmotion }
Function CDMINDMOTIONLYQ { Set-Location -Path $mindmotionliuyq }
Function CDMB { Set-Location -Path $mindmotionliuyqmb }
Function CDAPPDEV { Set-Location -Path $appdev }
Function CDDOWNLOAD { Set-Location -Path $downloads }
Function CDWECHAT { Set-Location -Path $wechatfiles }
Set-Alias -Name gitwork -Value CDGITWORK
Set-Alias -Name mindmotion -Value CDMINDMOTION
Set-Alias -Name mliuyq -Value CDMINDMOTIONLYQ
Set-Alias -Name liuyq -Value CDLYQ
Set-Alias -Name appdev -Value CDAPPDEV
Set-Alias -Name download -Value CDDOWNLOAD
Set-Alias -Name wechat -Value CDWECHAT
# Git Define
Function GITFETCH { Start-Process -FilePath "git" -ArgumentList "fetch"}
Function GITPULL { Start-Process -FilePath "git" -ArgumentList "pull"}
# Git Adv
Set-Alias -Name gf -Value GITFETCH
Set-Alias -Name gpull -Value GITPULL