powershell+oh-my-posh PSReadLine 代码提示配置

这篇具有很好参考价值的文章主要介绍了powershell+oh-my-posh PSReadLine 代码提示配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

升级 powershell

powershell版本要大于5.1,windows自带5.1,查看软件版本:

$PSVersionTable

搜索软件包:

winget search powershell

显示:

~\Desktop ❯ winget search powershell
搜索源时失败;结果将不包括在内: msstore
名称                     ID                                  版本         匹配            源
------------------------------------------------------------------------------------------------
PowerShell               Microsoft.PowerShell                7.2.2.0                      winget
Windows Terminal Preview Microsoft.WindowsTerminal.Preview   1.13.10733.0 Tag: PowerShell winget
Windows Terminal         Microsoft.WindowsTerminal           1.12.10732.0 Tag: powershell winget
PowerShell Preview       Microsoft.PowerShell.Preview        7.3.0.3      Tag: powershell winget
ConEmu                   Maximus5.ConEmu                     11.220.4180  Tag: powershell winget
EasyConnect              lstratman.easyconnect               3.1.0.105    Tag: powershell winget
Oh My Posh               JanDeDobbeleer.OhMyPosh             7.71.2       Tag: powershell winget
TfsCmdlets               Igoravl.TfsCmdlets                  2.3.1.2724   Tag: powershell winget
electerm                 electerm.electerm                   1.21.34      Tag: powershell winget
wol                      DarkfullDante.wol                   1.0.2        Tag: powershell winget
AutomatedLab             AutomatedLab.AutomatedLab           5.41.0       Tag: powershell winget
PowerShell Universal     IronmanSoftware.PowerShellUniversal 2.6.2                        winget

id为Microsoft开头的就是官方版本,下载最新版本powershell:

winget install Microsoft.PowerShell

安装完后开始菜单程序列表会出现刚刚安装的powershell,用管理员打开新的powershell,设置策略:

set-executionpolicy RemoteSigned

查看当前策略:

$OutputEncoding

如果是RemoteSigned,则设置成功。

Restricted:禁止运行任何脚本和配置文件
AllSigned :可以运行脚本,但要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本。
RemoteSigned :可以运行脚本,但要求从网络上下载的脚本和配置文件由可信发布者签名; 不要求对已经运行和已在本地计算机编写的脚本进行数字签名。
Unrestricted :可以运行未签名脚本。(危险!)

如果不设置策略,powershell将不能运行外部未签名脚本。

查看是否有powershell配置文件

Test-path $profile

如果显示为false,手动创建一个:

New-item –type file –force $profile

如果为true,则修改显示路径的配置文件。也可以使用$PROFILE查看配置文件路径。在配置文件里新增如下内容:

# powershell初始化加载 PSReadLine 模块
Import-Module PSReadLine
# 使用历史记录进行脚本提示
Set-PSReadLineOption -PredictionSource History

重启powershell,就可以获得oh-my-zsh里zsh-autosuggestions一样的体验了。Autosuggestion除了可以使用键补全全部外,还可以使用option + →选择下一个单词,现在为powershell配置同样的功能,修改$PROFILE如下:

# powershell初始化加载 PSReadLine 模块
Import-Module PSReadLine
# 使用历史记录进行脚本提示
Set-PSReadLineOption -PredictionSource History
# alt在windows中有特殊用途,这里使用ctrl键代替
Set-PSReadLineKeyHandler -Chord "Ctrl+RightArrow" -Function ForwardWord

现在按下ctrl + →可以逐字补全了。下面开始换powershell主题。

安装 oh-my-posh

用过Linux甚至是mac后的开发者,再回来用windows最不爽的一点可能就是开发环境的配置问题了。在linux各个发行版都有自己的包管理器,提供最稳定或者最新的软件包,开发者大多数情况下只需要一行命令install一下就行,然后就可以在ide或者工具里使用刚刚安装好的库了。然后这一切在windows下边的有点儿尴尬,在winget项目还没有立项之前,windows官方是希望每一家公司自己负责自己程序的安装和更新的,因此每个人都需要自己去每一家的官网上下载msi或者exe文件自己安装,而且一般商业性质的软件还会常驻一个updater在后台,久而久之,安装的东西多了,系统免不齐会运行的越来越慢。

因此,Windows的开发者们就产生了自己做包管理器的想法,于是社区两大著名的windows包管理器:Chocolatey和Scoop就诞生了,相比之下,Chocolatey臃肿庞大,自带GUI界面,相当于是一个进化版的windows商店……

Scoop是后起之秀,特点是轻量绿色化,scoop是按照aptget或者zypper这样的linux包管理理念设计的一个包管理器。本身不存储安装程序,而是将安装逻辑和安城程序的获取url写进配置文件再上传至github的repo上(有点儿像AUR的那种感觉)。这样社区就可以给scoop方便的进行贡献,只需要提交PR就好了。而且scoop多半是绿色安装,安装在每一个用户的用户文件夹里,大多数收录的程序安装时不会触发UAC获取管理员权限。软件的安装位置固定,卸载彻底,软件环境自动写进环境变量,不会对系统造成破坏。(总之就是好处很多)

Reference

回到Windows,最全教程让你的Powershell更好看且好用(2021版)


安装scoop

iwr -useb get.scoop.sh | iex

安装oh-my-posh

scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json

主题路径:

C:\Users\username\scoop\apps\oh-my-posh\current\themes

在这个网站选一个好看的主题:

Themes | Oh My Posh


在配置文件里添加:

oh-my-posh --init --shell pwsh --config C:\Users\username\scoop\apps\oh-my-posh\current\themes\主题的名字.omp.json | Invoke-Expression

username按需修改。我选的主题是powerlevel10k_lean,所以配置文件加上

oh-my-posh --init --shell pwsh --config C:\Users\username\scoop\apps\oh-my-posh\current\themes\powerlevel10k_lean.omp.json | Invoke-Expression

重启,即可看到效果。

References

Oh My Posh:全平台终端提示符个性化工具 - 少数派

让你的windows shell更好用,打造类fish/zsh的powershell - 掘金文章来源地址https://www.toymoban.com/news/detail-449632.html

到了这里,关于powershell+oh-my-posh PSReadLine 代码提示配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WSL2配置Linux、Docker、VS Code、zsh、oh my zsh

    本篇笔记来自于UP主麦兜搞IT的合集视频Windows10开发环境搭建中的部分内容 按照微软官方文档进行操作,当然也可以直接 wsl --install 也可以按照 旧版手动安装的步骤 来进行操作 选择安装的是 Ubuntu 20.04 LTS 注:WSL默认安装在系统盘下,若长期使用务必注意系统盘大小!! 在

    2024年02月22日
    浏览(42)
  • Mac M1配置iTerm2+oh-my-zsh配色&补全&高亮命令

    2021年10月下旬买了mac之后,就一直想配置成自己要的效果,但最开始买回来之后,配置iTerm2,但相关包没有下载成功,就导致没有配置成自己想要的效果,所以上周不忙的时候又重新配置了一下,终于配置成功了,所以特此记录。安装的前提,最好已经安装了git,如果木有,

    2024年02月01日
    浏览(43)
  • zsh-oh-my

    #!/bin/sh set -e USER= KaTeX parse error: Expected \\\'}\\\', got \\\'EOF\\\' at end of input: {USER:- (id -u -n)} HOME=“ KaTeX parse error: Expected \\\'}\\\', got \\\'EOF\\\' at end of input: {HOME:- (getent passwd $USER 2/dev/null | cut -d: -f6)}” HOME=“ KaTeX parse error: Expected \\\'}\\\', got \\\'EOF\\\' at end of input: {HOME:- (eval echo ~$USER)}” custom_zsh=${ZSH:+yes} zdot=“

    2024年02月08日
    浏览(45)
  • MacOS安装oh-my-zsh

    1.1.1 官方镜像源 1.1.2 国内Gitee加速源 1.2.1 官方镜像源 1.2.2 国内Gitee加速源 Oh-my-zsh路径为 ~/.oh-my-zsh/themes目录内,我比较喜欢robbyrussell 修改~/.zshrc文件,将主题修改为robbyrussell 如果你喜欢挑战,想尝试使用不同主题,可以考虑将主题设置成随机模式 2.1.1 自动补全插件 2.1.2 语法

    2024年01月18日
    浏览(41)
  • 全局安装oh-my-zsh保姆教程

    1 安装git 2 安装zsh 3 更改root的默认shell 4 安装oh-my-zsh 5 修改配置 上边三行注释分别是修改ZSH环境变量指向的位置和设置快速编辑的别名命令,之后可以通过zshconfig命令直接编辑.zshrc也可以通过ohmyzsh快速跳转到.ohmyzsh文件夹 保存后先执行\\\'source ./.zshrc\\\'看看效果 6 修改全局配置使

    2024年02月09日
    浏览(49)
  • MacOS安装Homebrew / zsh / oh my zsh

    最近又重新配置电脑环境,记录一下~ 1. 安装Homebrew Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。安装Homebrew以后,简单的一条指令就可以实现包管理,而不用关心各种依赖和文件路径的情况,十分方便快捷。  比如在

    2024年02月09日
    浏览(42)
  • 搭建自己的搜索引擎——oh-my-search使用

    使用elasticsearch和search-ui搭建自己的搜索引擎,快速查找资源和文件。如果对代码感兴趣,相关代码已在github上开源,欢迎fork代码。 先搭建eleasticsearch再搭建kibana 搭建elasticsearch 编辑docker-compose.yml文件,内容如下: 其中./es/config/elasticsearch.yml的内容如下,可按需修改: 启动

    2024年02月08日
    浏览(33)
  • oh-my-zsh git插件的别名对照表

    git插件是 oh-my-zsh 提供了一些 git 命令的别名,提高了我们在终端使用 git 的效率,下面是一些别名和命令的对照表: Alias Command g git ga git add gaa git add --all gapa git add --patch gb git branch gba git branch -a gbl git blame -b -w gbnm git branch --no-merged gbr git branch --remote gbs git bisect gbsb git bisect b

    2024年02月04日
    浏览(31)
  • iterm2 + homebrew + oh my zsh + powerlevel10k 的安装教程

    对于需要长期与终端打交道的工程师来说,拥有一款称手的终端管理器是很有必要的,对于 Windows 用户来说,最好的选择是   Xshell ,这个大家都没有异议。但对于 MacOS 用户来说,仍然毋庸置疑, iterm2  就是你要的利器,如果你觉得不是,那是你的问题,不是   iterm2  的问

    2024年02月07日
    浏览(101)
  • 解决Error: git clone of oh-my-zsh repo failed

    目录 一前言   二解决办法 1-报错截图 2-解决步骤 2.1先查找可以访问github.com的ip地址 2.2其次就是将改ip地址加入我们的电脑中 三访问成功 问题描述:我在进行下载oh-my-zsh的时候,出现了以下错误:Failed to connect to github.com port 443 after 75174 ms: Couldn\\\'t connect to server以及以下 Err

    2024年01月22日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包