Oh My Posh 是一款终端个性化工具,支持 Windows、Linux(WSL)、macOS 系统上的 PowerShell、bash、zsh 等终端,可以配置不同主题达到个性化的效果。
本篇文章,将以PowerShell终端为例,为大家介绍如何使用oh-my-posh来美化命令行终端。废话不多说,直接上干货吧,走起~~👇
执行如下命令,安装过程中出现提示,请直接输入“Y”。
Install-Module oh-my-posh -Scope CurrentUser -SkipPublisherCheck
执行如下命令,安装过程中出现提示,请直接输入“Y”。
Install-Module posh-git -Scope CurrentUser
Install-Module -Name PSReadLine -Scope CurrentUser -Force -SkipPublisherCheck
通过检查oh-my-posh版本,确定是否已安装成功。
oh-my-posh --version
推荐使用MesloLGM NF字体,点此即可直接下载Meslo字体(v2.3.3),当然,若想使用其他NF字体,可以访问Nerd Fonts官网进行挑选。
下载完成后解压,全选右键点击安装即可自动安装。
打开Window Terminal,然后按"ctrl + shift + ,"打开Window Terminal的settings.json配置文件,为命令行工具添加/修改字体参数,如下所示:
PowerShell运行如下命令,即可安装文件图标库。
Install-Module -Name Terminal-Icons -Repository PSGallery
PS:文件图标库能否正常使用,必须依赖于Nerd Fonts字体。Nerd Fonts字体的安装和使用请参考上述第1~2点内容。
使用文件图标库,需要在PowerShell配置文件中,增加如下命令:
Import-Module -Name Terminal-Icons
以PowerShell为例。
首先,打开PowerShell的配置文件,通过如下命令:
# 通过记事本打开powershell配置文件
notepad $PROFILE
# 若上述命令报错,找不到powershell配置文件,则需创建powershell配置文件,执行如下命令
New-Item -Path $PROFILE -Type File -Force
然后,在PowerShell配置文件中,添加如下内容,保存。
Import-Module posh-git # 引入 posh-git
Import-Module oh-my-posh # 引入 oh-my-posh
Import-Module -Name Terminal-Icons # 引入文件图标库
# 设置主题
oh-my-posh init pwsh --config "C:\Users\nut\AppData\Local\Programs\oh-my-posh\themes\robbyrussell.omp.json" | Invoke-Expression
# Set-PSReadLineOption -PredictionSource History # 设置预测文本来源为历史记录
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete # 设置 Tab 键,命令行自动补全和提示
# Set-PSReadLineKeyHandler -Key "Ctrl+d" -Function MenuComplete # 设置 Ctrl+d 为菜单补全和 Intellisense
# Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward # 设置向上键为后向搜索历史记录
# Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward # 设置向下键为前向搜索历史纪录
最后,执行.$PROFILE,生效PowerShell配置文件。
.$PROFILE
如下图,就是最终的效果啦~~,是不是挺好看哈哈~~
至此,PowerShell终端美化工作就算完成啦~
首先,安装clink工具,双击exe安装包即可安装.
PS: 请记住clink的安装目录,下一步会用到哦~
然后,进入clink安装目录,创建oh-my-posh.lua文件,添加如下内容:
load(io.popen('oh-my-posh init cmd'):read("*a"))()
最后,重启cmd终端就能生效啦~
扩展:若要更改主题,请将上述oh-my-posh.lua文件的内容替换成如下内容:
PS:当然,主题的路径,请更改成自己本地电脑上的路径哦。
load(io.popen('oh-my-posh init cmd --config C:\\Users\\NUT\\AppData\\Local\\Programs\\oh-my-posh\\themes\\robbyrussell.omp.json'):read("*a"))()
我刚刚更新了我的gem,当我尝试运行Guard时,出现以下错误:Guard::RSpecDEPRECATIONWARNING:The:clioptionisdeprecated.Pleasecustomizethenew:cmdoptiontofityourneed.这是我的Guard文件:guard'rspec',cli:'--drb'dowatch(%r{^spec/.+_spec\.rb$})watch(%r{^lib/(.+)\.rb$}){|m|"spec/lib/#{m[1]}_spec.rb"}watch('spec/spec_helper.rb'){"spec"}#Ra
所以我一直在努力解决我一直遇到的这个错误,我终于找到了导致它的原因。我一直觉得,当我调用@my_model.save(false)我会跳过我的ActiveRecord验证。事实证明这是部分正确的。我的对象正在保存到数据库中DESPITE我的ActiveRecord验证。我的问题存在是因为我的一个验证在验证过程中修改了一个子模型(这是一个24小时位置的调度应用程序,因此当午餐被保存时,我对照他们保存的那天和第二天检查它们以及确保用户不是指“凌晨2点”表示要上夜类。我的问题是:有没有办法真正跳过我的验证并直接移动到数据库?这是正常的ActiveRecord行为还是我应该更深入地研究我的验证
我正在编写一个快速的Rails应用程序,并且想知道如何验证执行的命令是否成功。我正在运行的两个命令是SVN更新,以及从一个目录到另一个目录的cp。 最佳答案 如果您使用Kernel.system()方法,它将返回一个bool值,指示命令是否成功。result=system("cp-rdir1dir2")if(result)#dothenextthingelse#handletheerror不同的ruby系统命令有很好的比较here. 关于ruby-on-rails-验证终端命令已在Rai
我是Ruby新手,在Ubuntu12.04机器上安装了Ruby1.9.3。每当我在终端中不带任何参数地运行ruby命令时,它就会挂起并且什么都不做。它在我的WindowsXP安装上做同样的事情。这是预期的行为吗?来自Python/Java背景,我期待某种输出。 最佳答案 这是预料之中的。当您只运行ruby时,它会停在那里,等待来自STDIN的程序,后跟一个文件结束符,然后执行该程序。如果你想要交互,比如当你运行python时,你需要Ruby的irb。 关于ruby-使用不带参数的'rub
我已经安装了设备。我有一个链接:当我安装ActiveAdmin(对于现有型号User)时,此链接停止工作:undefinedlocalvariableormethod`new_user_registration_path'我对routes.rb使用了gitdiff在这里(添加的行是黑色的):ActiveAdmin.routes(self)devise_for:users,ActiveAdmin::Devise.config还有:delete%>现在导致/admin/logout我该如何解决这个问题?rake路:admin_dashboard/admin(.:format){:actio
目录1.1访问Cisco路由器的方法1.1.1通过Console口访问路由器1.1.2通过Telnet访问路由器1.1.3终端访问服务器1.2终端访问服务器配置命令汇总1.1访问Cisco路由器的方法 路由器没有键盘和鼠标,要初始化路由器需要把计算机的串口和路由器的Console口进行连接。访问Cisco路由器的方法还有Telnet、WebBrowser和网络管理软件(如CiscoWorks)等,本节讨论前2种。1.1.1通过Console口访问路由器 计算机的串口和路由器的Console口是通过反转线(Rollover)进行连接的,反转线的一端接在路由器的Console口上,另一
好的,所以我有一个Rails应用程序,我试图在postgres数据库上运行迁移,我通常使用mysql,一切都很好,但是当我运行命令时,我得到了这个rakedb:migrate(in/Users/tamer/Sites/my_app)/Users/tamer/.rvm/gems/ruby-1.9.2-p290@my_app/gems/activerecord-3.0.3/lib/active_record/connection_adapters/postgresql_adapter.rb:487:[BUG]Segmentationfaultruby1.9.2p290(2011-07-09
我想知道是否可以从我执行ruby脚本的位置更改当前终端目录。例如,如果我在终端中从$HOME执行脚本,我想在脚本末尾进入$HOME/mydir.我已经尝试了几件事,但我总是在启动脚本的同一目录中找到。我尝试过的事情:Dir.chdir(mydir)%[cdmydir]它们实际上会改变目录,但只是在脚本执行的线程中。当脚本结束时,我在终端中的当前位置与启动脚本之前的位置相同。我在SO中发现了类似的东西,但它是Python-relatedreact似乎是否定的。你可能会问为什么?我目前正在参与一个命令行应用程序(使用gli),作为起点,它需要一个项目文件夹。所以我的第一个命令是这样的:
我想创建一个通用的字符串操作类,可以在我的Rails应用程序中跨模型、View和Controller使用。现在,我正试图将一个模块放入我的lib目录中,我只是试图访问Rails控制台中的函数来测试它。我已经尝试了很多来自类似问题的技术,但我无法让它发挥作用。在我的lib/filenames.rb文件中:moduleFilenamesdefsanitize_filename(filename)#Replaceanynon-letterornon-numbercharacterwithaspacefilename.gsub!(/[^A-Za-z0-9]+/,'')#removespaces
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Howtorunrubyfiles?我开始学习Ruby,但很难在终端中运行Ruby类。我在SublimeText编辑器中创建了一个类,就是“helloworld”。我可以使用rubyhello.rb进行编译,但我该如何执行呢?我转到根目录中的终端并输入railsc,这给了我一个控制台。有人可以告诉我如何创建实例吗?我使用哪个控制台?