powershell美化

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 模块:

Import-Module Z
使用 Z 模块
切换到目录

使用 z 命令加上目录的部分名称,可以快速切换到该目录:

z foldername

例如,假设你经常访问名为 Projects 的目录,你可以通过以下命令快速跳转到该目录:

z projects
显示目录历史

使用 -l 参数列出所有之前访问过的目录历史:

z -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 configuration
oh-my-posh init pwsh --config "C:\Users\xxx\AppData\Local\Programs\oh-my-posh\themes\night-owl.omp.json" | Invoke-Expression# Import other modules
Import-Module z
Import-Module posh-git
#Icons
Import-Module Terminal-Icons# PSReadLine options
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'
#                         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 Tab
Set-PSReadLineKeyHandler -Key Tab -Function Complete
#Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete#Utilities
function which ($command) {Get-Command -Name $command -ErrorAction SilentlyContinue |Select-Object -ExpandProperty Path -ErrorAction SilentlyContinue
}#Fzf
Import-Module PSFzf
Set-PsFzfOption -PSReadLineChordProvider 'Ctrl+f' -PSReadLineChordReverseHistory 'Ctrl+r'# Alias
Set-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,两个都改了吧

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024/12/22周报

文章目录 摘要Abstract深度学习文献阅读1. 背景与问题2. 发明目的3. 方法与实现3.1 数据采集与变量选取3.2 BP神经网络建立稳态预测模型3.3 构建多目标优化函数3.4 多目标差分进化算法求解优化3.5 最优决策变量筛选3.6 实时控制 4. 系统实现5. 实际效果与验证5.1 仿真验证5.2 神…

前端编程训练 异步编程篇 请求接口 vue与react中的异步

文章目录 前言代码执行顺序的几个关键点接口请求vue与react中的异步 vue中的异步react的state修改异步 前言 本文是B站三十的前端课的笔记前端编程训练,异步编程篇 代码执行顺序的几个关键点 我们可以理解为代码就是一行一行,一句一句是执行(定义变…

C++-----函数与库

数学中的函数与编程中的函数对比 数学中的函数 - 数学函数是一种映射关系,例如,函数\(y f(x)x^{2}\),对于每一个输入值\(x\),都有唯一确定的输出值\(y\)。它侧重于描述变量之间的数量关系,通常通过公式来表示这种关系…

Loki 微服务模式组件介绍

目录 一、简介 二、架构图 三、组件介绍 Distributor(分发器) Ingester(存储器) Querier(查询器) Query Frontend(查询前端) Index Gateway(索引网关&#xff09…

C++ OpenGL学习笔记(1、Hello World空窗口程序)

终于抽出时间系统学习OpenGL 教程,同时也一步一步记录怎样利用openGL进行加速计算。 目录 1、环境准备1.1、库的下载1.2、库的选择及安装 2、OpenGL第一个项目,Hello World!2.1、新建hello world控制台项目2.2、配置openGL环境2.2.1 包含目录配置2.2.2 …

Linux系统命令基础

Linux命令⾏ [pypylinux ~]$ 普通⽤户py,登陆后 [rootpylinux ~]# 超级⽤户root,登录后root代表当前登录的⽤户 分隔符pylinux 主机名~ 当前的登录的位置,此时是家⽬录# 超级⽤户身份提示符 $ 普通⽤户身份提示符操作系统⽬录分隔符 Linux目录…

不同版本的 Redis 的键值对内存占用情况示例

不同版本的 Redis 的键值对内存占用情况示例 文章目录 不同版本的 Redis 的键值对内存占用情况示例Redis 6.0redisObjectdictEntrysds🍀 数据结构🍀 sdslen() 函数🍀 sdsReqType() 函数🍀 sdsHdrSize() 函数 内存分配 - malloc() …

实现 WebSocket 接入文心一言

目录 什么是 WebSocket? 为什么需要 WebSocket? HTTP 的局限性 WebSocket 的优势 总结:HTTP 和 WebSocket 的区别 WebSocket 的劣势 WebSocket 常见应用场景 WebSocket 握手过程 WebSocket 事件处理和生命周期 WebSocket 心跳机制 …

2024.7 XAI 遇见 LLM:可解释 AI 与大型语言模型之间关系的调查

https://arxiv.org/pdf/2407.15248 问题 Q1:XAI 技术当前如何与 LLMs 集成?Q2:将 LLMs 与 XAI 方法融合的新兴趋势是什么?Q3:当前相关文献存在哪些差距,哪些领域需要进一步研究? 挑战 LLMs …

RIP实验

要求及分析 路由器上分别配置环回 连接路由器的线路网段为12.1.1.0/24、23.1.1.1.0/24 R1和R3连接的网络地址分别为192.168.1.0/24/192.168.2.0/24 整个网络使用RIP达到全网可达 配置 先配置路由器各接口ip和环回和pc ip网关掩码(图略) 进行 RI…

Oracle 中间件 Webcenter Portal服务器环境搭建

环境信息 服务器基本信息 如下表,本次安装总共使用2台服务器,具体信息如下: Webcenter1服务器 归类 SOA服务器 Ip Address 172.xx.xx.xx.xx HostName wcc01.xxxxxx.com Alias wccprd01 Webcenter2服务器 归类 OSB服务器 Ip Addr…

macOS 配置 vscode 命令行启动

打开 vscode 使用 cmd shift p 组合快捷键,输入 install 点击 Install ‘code’ command in PATH Ref https://code.visualstudio.com/docs/setup/mac

分层架构 IM 系统之多媒体功能设计与实现

现在 IM 系统已经不仅限于文本消息的通讯了,多媒体数据占据越来越多的比重,比如:文件传输、语音通话、视频通话等。 在前面的文章(《基于需求分析模型来结构化剖析 IM 系统》)中我们分析过,“多媒体消息”…

0.gitlab ubuntu20.04 部署问题解决

安装依赖: ① sudo apt-get update 出现: 解决方式: 去 /etc/apt/sources.list.d 这个目录删除或注释对应的list文件 第三方软件的源一般都以list文件的方式放在 /etc/apt/sources.list.d 这个目录 重新运行sudo apt-get update 安装…

Next.js v15 - 服务器操作以及调用原理

约定 服务器操作是在服务器上执行的异步函数。它们可以在服务器组件和客户端组件中调用,用于处理 Next.js 应用程序中的表单提交和数据修改。 服务器操作可以通过 React 的 “use server” 指令定义。你可以将该指令放在 async 函数的顶部以将该函数标记为服务器操…

什么是3DEXPERIENCE SOLIDWORKS,它有哪些角色和功能?

将业界领先的 SOLIDWORKS 3D CAD 解决方案连接到基于单一云端产品开发环境 3DEXPERIENCE 平台。您的团队、数据和流程全部连接到一个平台进行高效的协作工作,从而能快速的做出更好的决策。 目 录: ★ 1 什么是3DEXPERIENCE SOLIDWORKS ★ 2 3DEXPERIE…

[Unity]【图形渲染】【游戏开发】Shader数学基础4-更多矢量运算

在计算机图形学和着色器编程中,矢量运算是核心的数学工具之一。矢量用于描述空间中的位置、方向、速度等各种物理量,并在图形变换、光照计算、纹理映射等方面起着至关重要的作用。本篇文章将详细讲解矢量和标量之间的乘法与除法、矢量的加法与减法、矢量的模与单位矢量、点积…

【漏洞复现】CVE-2023-37461 Arbitrary File Writing

漏洞信息 NVD - cve-2023-37461 Metersphere is an opensource testing framework. Files uploaded to Metersphere may define a belongType value with a relative path like ../../../../ which may cause metersphere to attempt to overwrite an existing file in the d…

Bcrypt在线密码加密生成器

具体前往:在线Bcrypt加密工具--使用bcrypt及生成salt的迭代次数强度参数计算生成哈希(摘要)

wxWidgets使用wxStyledTextCtrl(Scintilla编辑器)的正确姿势

开发CuteMySQL/CuteSqlite开源客户端的时候,需要使用Scintilla编辑器,来高亮显示SQL语句,作为C/C领域最成熟稳定又小巧的开源编辑器,Scintilla提供了强大的功能,wxWidgets对Scintilla进行包装后的是控件类:…