powershell美化
写在前面
除了安装命令,其他都是测试命令,后续再写进设置文件
安装主题控件
安装主题oh-my-posh,powershell中执行
- winget install JanDeDobbeleer.OhMyPosh -s winget
- oh-my-posh init pwsh | Invoke-Expression # 查看效果,这里可能不能显示符号
复制代码 点击加号旁边进入设置,左边点击powershell,向下滑点击外观,将字体改成nerd类型的字体,也能到Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher下载字体
也能直接改默认
- Get-PoshThemes # 查看主题
- # 选择并应用一个主题
- oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\theme.json" | Invoke-Expression
- # 将 $env:POSH_THEMES_PATH\theme.json 替换为实际的主题文件路径,运行$env:POSH_THEMES_PATH可以看到主题的绝对路径
复制代码 powershell模块管理底子命令
1. 安装模块
利用 Install-Module 命令从 PowerShell Gallery 安装模块:
- Install-Module -Name ModuleName -Force
复制代码 2. 导入模块
利用 Import-Module 命令加载模块,使其命令可用:
- Import-Module -Name ModuleName
复制代码 3. 检察已安装模块
利用 Get-Module 检察当前会话中已加载的模块,或者利用 -ListAvailable 参数检察体系上全部已安装的模块:
- # 查看当前会话中已加载的模块
- Get-Module
- # 查看系统上所有已安装的模块
- Get-Module -ListAvailable
复制代码 4. 获取模块命令
利用 Get-Command 检察某个模块中的全部命令:
- Get-Command -Module ModuleName
复制代码 5. 检察模块信息
利用 Get-Module 检察模块的详细信息:
- Get-Module -Name ModuleName
复制代码 6. 更新模块
利用 Update-Module 更新已安装的模块:
- Update-Module -Name ModuleName
复制代码 7. 卸载模块
利用 Remove-Module 卸载模块,从当前会话中移除:
- Remove-Module -Name ModuleName
复制代码 8. 查找模块
利用 Find-Module 从 PowerShell Gallery 查找模块:
- Find-Module -Name ModuleName
复制代码 9. 保存模块
利用 Save-Module 将模块保存到当地文件夹,而不是直接安装:
- Save-Module -Name ModuleName -Path C:\Path\To\Save
复制代码 10. 发布模块
利用 Publish-Module 将模块发布到 PowerShell Gallery(需要先进行设置和认证):
- Publish-Module -Name ModuleName -NuGetApiKey 'YourApiKey'
复制代码 示例:安装和利用 PSReadLine 模块
下面是一个完备的示例,展示了如何安装、导入和利用 PSReadLine 模块:
- # 安装 PSReadLine 模块
- Install-Module -Name PSReadLine -Force
- # 导入 PSReadLine 模块
- Import-Module -Name PSReadLine
- # 查看 PSReadLine 模块中的命令
- Get-Command -Module PSReadLine
- # 设置 PSReadLine 选项(例如,设置语法高亮颜色)
- Set-PSReadLineOption -PredictionSource History
- # 卸载 PSReadLine 模块(从当前会话中移除)
- Remove-Module -Name PSReadLine
复制代码 安装插件(可选)
首先设置PSGallery为受信任存储库
要将PSGallery设置为受信任的存储库,可以运行以下命令:
- Set-PSRepository -Name 'PSGallery' -InstallationPolicy Truste
复制代码 PSReadLine
- Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck
复制代码 我的设置附上
- Import-Module PSReadLine
- # 设置 PSReadLine 的编辑模式为 Emacs 风格
- # 禁用提示音
- # 设置历史预测源为命令历史
- # 设置预测视图样式为列表视图
- # 启用工具提示功能
- # 防止保存历史记录中的重复命令
- Set-PSReadLineOption -EditMode Emacs `
- -BellStyle None `
- -PredictionSource History `
- -PredictionViewStyle ListView `
- -ShowToolTips `
- -HistoryNoDuplicates `
- -Colors @{ # 设置不同元素的颜色,如命令、参数、运算符、变量、字符串、数字、成员、类型、和默认颜色
- Command = 'Cyan'
- Parameter = 'Yellow'
- Operator = 'Red'
- Variable = 'Green'
- String = 'Magenta'
- Number = 'White'
- Member = 'DarkYellow'
- Type = 'DarkCyan'
- Default = 'Gray'
- }
- # 增量搜索,你在键入时会动态显示匹配项
- Set-PSReadLineKeyHandler -Chord Ctrl+R -Function ReverseSearchHistory
- # 逐步搜索,每按一次快捷键会找到下一个匹配项
- #Set-PSReadLineKeyHandler -Chord 'Ctrl+r' -Function HistorySearchBackward
- # Shows navigable menu of all options when hitting Tab
- Set-PSReadLineKeyHandler -Key Tab -Function Complete
- #Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete
复制代码 z
- Install-Module -Name Z -Scope CurrentUser -Force -SkipPublisherCheck # 安装
复制代码 安装完成后,利用以下命令导入 z 模块:
利用 Z 模块
切换到目次
利用 z 命令加上目次的部分名称,可以快速切换到该目次:
例如,假设你经常访问名为 Projects 的目次,你可以通过以下命令快速跳转到该目次:
体现目次汗青
利用 -l 参数列出全部之前访问过的目次汗青:
posh-git
- Install-Module posh-git -Scope CurrentUser -Force # 安装
- Import-Module posh-git # 导入
复制代码 该模块管理和监视 Git 仓库的状态,进入git目次就能看到
PSFzf
提供了在命令行中进行快速模糊搜索和选择的功能
- Set-PsFzfOption -PSReadLineChordProvider 'Ctrl+f' -PSReadLineChordReverseHistory 'Ctrl+r'
复制代码 Set-PsFzfOption 命令用于设置 PSFzf 模块的选项,以定制键绑定和其他举动,将 Ctrl+f 设置为启动模糊搜索,Ctrl+r 设置为反向搜索汗青记录的功能,利用这个可以不用上面谁人,或者换个快捷键
添加别名
- Set-Alias ll ls
- Set-Alias g git
- Set-Alias grep findstr
复制代码 我的部分别名
设置环境变量
- $env:http_proxy="http://127.0.0.1:10809"
- $env:puser = "C:\Users\xxx\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
复制代码 上面的用处是在命令行执行$env:http_proxy就可以改变powershell的代理端口,执行cat $env:puser可以检察powershell的设置文件
加入设置文件
执行$PROFILE可以得到设置文件目次,可以按目次创建文件,编辑文件,我的部分代码如下
- # Oh My Posh configurationoh-my-posh init pwsh --config "C:\Users\xxx\AppData\Local\Programs\oh-my-posh\themes\night-owl.omp.json" | Invoke-Expression# Import other modulesImport-Module zImport-Module posh-git#IconsImport-Module Terminal-Icons# PSReadLine optionsImport-Module PSReadLine# 设置 PSReadLine 的编辑模式为 Emacs 风格# 禁用提示音# 设置汗青预测源为命令汗青# 设置预测视图样式为列表视图# 启用工具提示功能# 防止保存汗青记录中的重复命令Set-PSReadLineOption -EditMode Emacs ` -BellStyle None ` -PredictionSource History ` -PredictionViewStyle ListView ` -ShowToolTips ` -HistoryNoDuplicates ` -Colors @{ # 设置不同元素的颜色,如命令、参数、运算符、变量、字符串、数字、成员、类型、函数和默认颜色 Command = 'Cyan' Parameter = 'Yellow' Operator = 'Red' Variable = 'Green' String = 'Magenta' Number = 'White' Member = 'DarkYellow' Type = 'DarkCyan'# Function = 'Blue' Default = 'Gray' }# 增量搜索,你在键入时会动态体现匹配项#Set-PSReadLineKeyHandler -Chord Ctrl+R -Function ReverseSearchHistory# 徐徐搜索,每按一次快捷键会找到下一个匹配项##Set-PSReadLineKeyHandler -Chord 'Ctrl+r' -Function HistorySearchBackward # Shows navigable menu of all options when hitting TabSet-PSReadLineKeyHandler -Key Tab -Function Complete#Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete#Utilitiesfunction which ($command) { Get-Command -Name $command -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue}#FzfImport-Module PSFzfSet-PsFzfOption -PSReadLineChordProvider 'Ctrl+f' -PSReadLineChordReverseHistory 'Ctrl+r'
- # AliasSet-Alias ll ls
- Set-Alias g git
- Set-Alias grep findstr
- #env$env:http_proxy="http://127.0.0.1:10809" #启动改变代理$env:puser = "C:\Users\xxx\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
复制代码 其中which函数实现了linux上的函数功能,其他的前面有讲,保存,启动powershell
vscode图标不体现
更改字体为CaskaydiaCove Nerd Font Mono,改成可体现就行,右上角文件->首选项->设置,搜索terminal font,两个都改了吧
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |