日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

曾經(jīng)非常羨慕mac平臺上的iTerm2+oh-my-zsh組合,可以實(shí)現(xiàn)一個非常好看又實(shí)用的終端,十分希望windows平臺上也有類似的東西,然而在很長時間里都沒有出現(xiàn),以前最好的方案還是cmder,直到微軟發(fā)布了Windows Terminal。

Windows Terminal

Windows Terminal正式版已經(jīng)發(fā)布了,可以直接通過Windows商店安裝,現(xiàn)在已經(jīng)支持可視化的設(shè)置界面了,大多數(shù)的美化教程可能都會介紹Windows Terminal結(jié)合WSL使用,但我個人使用下來發(fā)現(xiàn)幾個問題:一個是WSL啟動較慢,二是開啟WSL后vmmem會占用大量內(nèi)存,第三是通過vscode訪問WSL有時會出現(xiàn)斷開連接,所以我放棄了WSL這個方案。

打造一個好看又實(shí)用的Windows終端

 

oh-my-posh

oh-my-posh是PowerShell的一套主題,聽名字就知道和oh-my-zsh是類似的,最新版本是 Oh My Posh 3

開始安裝

oh-my-posh的安裝還是比較簡單的

  • 通過管理員權(quán)限打開PowerShell
  • 繞過PowerShell執(zhí)行策略,使其可以執(zhí)行腳本文件
Set-ExecutionPolicy Bypass
復(fù)制代碼
  • 安裝oh-my-posh主題
Install-Module oh-my-posh -Scope CurrentUser
復(fù)制代碼
  • 安裝posh-git將git信息添加到提示中
Install-Module posh-git -Scope CurrentUser
復(fù)制代碼

注意:如果中途有詢問,直接Y或A就好了

  • 通過這個 地址 下載安裝字體,推薦安裝DejaVuSansMono Nerd Font(其他的我也沒試過)

修改配置

安裝完成之后,修改PowerShell的配置文件

  • 啟動編輯PowerShell配置文件的引擎
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
復(fù)制代碼
  • 使用vscode打開配置文件(也可以用其他方式打開),配置文件地址一般是:C:Users${username}DocumentsWindowsPowerShellMicrosoft.PowerShell_profile.ps1
code $PROFILE
復(fù)制代碼
  • 添加以下配置內(nèi)容
Import-Module posh-git # 導(dǎo)入posh-git
Import-Module oh-my-posh # 導(dǎo)入oh-my-posh
Set-PoshPrompt -Theme M365Princess # 設(shè)置主題為M365Princess
復(fù)制代碼
  • 最終效果如圖,也可以通過Get-PoshThemes查看全部可用主題
打造一個好看又實(shí)用的Windows終端

 

自定義別名

本來美化教程到這兒就差不多結(jié)束了,但是有一說一,這個東西網(wǎng)上的教程其實(shí)已經(jīng)有很多了,在這兒發(fā)一個類似的東西屬實(shí)沒啥必要,所以下面要整點(diǎn)不一樣的東西。

通過上面那個配置文件,可以自定義一些命令行的別名,類似于一些簡單的跳轉(zhuǎn):

function Go-Up {
    # 跳轉(zhuǎn)上級
    cd ../
}

function Go-Home {
    # 跳轉(zhuǎn)根目錄
    cd ~
}

Set-Alias '..' Go-up
Set-Alias '~' Go-Home
復(fù)制代碼

在使用PowerShell的過程中,一直有個不太喜歡的點(diǎn),就是PowerShell查看當(dāng)前目錄下的文件可以使用 ls、dir、Get-ChildItem,這幾個效果都是一樣的,如下:

打造一個好看又實(shí)用的Windows終端

 

而我想要實(shí)現(xiàn)類似于bash的文件名稱橫向排布,并且不同的文件類型顯示不同的顏色的輸出,類似于下圖:

打造一個好看又實(shí)用的Windows終端

 

PowerShell沒有提供類似的方法,但我們可以自定義實(shí)現(xiàn),代碼如下:

# >>> 移除默認(rèn)別名 >>>
Remove-Item alias:ls

# >>> 自定義函數(shù) >>>
function Color-List($str) {
    $regex_opts = ([System.Text.RegularExpressions.RegexOptions]::IgnoreCase-bor [System.Text.RegularExpressions.RegexOptions]::Compiled)
    $fore = $Host.UI.RawUI.ForegroundColor
    $compressed = New-Object System.Text.RegularExpressions.Regex('.(zip|tar|gz|rar|jar|war|7z)$', $regex_opts)
    $executable = New-Object System.Text.RegularExpressions.Regex('.(exe|bat|cmd|py|ps1|psm1|vbs|rb|reg|sh|zsh)$', $regex_opts)
    $code_files = New-Object System.Text.RegularExpressions.Regex('.(ini|csv|log|xml|yml|json|JAVA|c|cpp|css|sass|js|ts|jsx|tsx|vue)$', $regex_opts)

    $itemList = @()
    Invoke-Expression ("Get-ChildItem" + " " + $str) | ForEach-Object {
        $item = New-Object object
        if ($_.GetType().Name -eq 'DirectoryInfo') 
        {
            $item | Add-Member NoteProperty name ("`e[34m" + $_.name) # 目錄名稱藍(lán)色
        }
        elseif ($compressed.IsMatch($_.Name)) 
        {
            $item | Add-Member NoteProperty name ("`e[31m" + $_.name) # 壓縮文件紅色
        }
        elseif ($executable.IsMatch($_.Name))
        {
            $item | Add-Member NoteProperty name ("`e[36m" + $_.name) # 可執(zhí)行文件青色
        }
        elseif ($code_files.IsMatch($_.Name))
        {
            $item | Add-Member NoteProperty name ("`e[33m" + $_.name) # 代碼文件黃色
        }
        else
        {
            $item | Add-Member NoteProperty name ("`e[37m" + $_.name) # 其他文件默認(rèn)白色
        } 
        $itemList += $item
    }
    echo $itemList | Format-Wide -AutoSize # 格式化輸出
}

function Get-List {
    Color-List "-Exclude .*"
}

function Get-All-List {
    Color-List "$args"
}

# >>> 重新定義別名 >>>
Set-Alias ls Get-List
Set-Alias la Get-All-List
復(fù)制代碼

最終效果如下:

打造一個好看又實(shí)用的Windows終端

 

分享到:
標(biāo)簽:終端 Windows
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定