主頁 > 作業系統 > 「實用」打造自我感覺非常漂亮的Mac終端

「實用」打造自我感覺非常漂亮的Mac終端

2021-12-28 06:06:50 作業系統

背景

(今天我是一個美妝博主??)
突然發現自己使用的iterm2終端樣式有些樸素,為了讓她看起來花枝招展的,我決定給她打扮打扮,畢竟每天面對她的時間比物件還多……

效果對比

因為每個人的喜好都不一樣,所以放一張大家都喜歡的效果圖很難,之前我很喜歡黑色主題,后來,我對淺色反倒情有獨鐘,現在我的開發工具idea、vscode等都是使用的淺色,據說對自己的眼睛好,
深色
淺色
本文的亮點就是:只告訴你設定方法,最終妝后效果由你自己的審美決定,那上面的紅玫瑰和白玫瑰,你更喜歡哪個呢?評論區為你選擇的玫瑰投票,

配置方法

下面給大家詳細講一下深色主題的設定方法,

安裝oh-my-zsh

oh-my-zsh:Unleash your terminal like never before.

oh-my-zsh 是一款社區驅動的命令列工具,正如它的主頁所說,oh-my-zsh是一種生活方式,它基于 zsh 命令列,提供了主題配置,插件機制,內置的便捷操作,給我們一種全新使用命令列的方式,所以,安裝oh-my-zsh前提條件:必須安裝 zsh,好像是一句廢話,目前來看macOS系統默認推薦的命令列就是zsh,如果你默認的命令列不是zsh,可以執行以下命令進行更換:

chsh -s /bin/zsh

zsh準備好之后,我們就可以正式開始安裝使用oh-my-zsh啦,下面有兩種方式可供參考:

  • 方式一(極力推薦)
    通過命令列下載安裝
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 方式二
    (如果方式一無法安裝,再嘗試該方式)
    1、點擊下載該腳本;
    2、然后執行install.sh
sh install.sh

安裝美化神器:Powerline

安裝完oh-my-zsh,我們重啟終端,此時的終端在輸入命令時,已經美色側漏,為了讓她變得更華麗,我們繼續化妝,

Powerline:一款比較酷炫的狀態欄工具,可以美化終端和vim界面,

這款組件由python開發,因此我們需要本地有python及pip環境,安裝命令如下:

pip install powerline-status

(如果你是pip3,可能需要將pip替換為pip3來安裝)
安裝過后,為了字體樣式更加beautiful,我們需要安裝Powerline的字體庫,官方提供的安裝命令如下:

# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

iterm2更換字體

字體包安裝完成后,我們就需要更改iterm2的字體庫,因為一些界面樣式,使用系統默認自帶的字體會發生亂碼,
更改iterm2字體
我們搜索meslo,選擇合適的字體大小(S L M),同樣的,我們使用的其他IDE終端也需要更改,比如mac自帶的終端、idea、vscode,否則也會亂碼,具體步驟可以查看文末,這里我們著重講一下Iterm2的配置,

Iterm2更換配色

如下圖所示,總有你喜歡的配色,當然你還可以去官網下載匯入更多配色
Iterm2更換配色

設定主題

oh-my-zsh內置了很多主題,在目錄下:

cd ~/.oh-my-zsh/themes

我當前使用的自帶的是agnoster主題,我們可以直接配置,用vim編輯器打開當前用戶目錄下隱藏檔案.zshrc,將ZSH_THEME后面欄位改為agnoster

vim ~/.zshrc

更換專題agnoster
重新打開iTerm2即可看到最新妝后效果,當然也可以查看更多主題,

設定語法高亮

繼續化妝,我們可以直接使用homebrew安裝zsh-syntax-highlighting插件,它可以突出顯示命令,有助于在運行命令之前檢查命令,特別是捕獲語法錯誤,簡直不要太好用,

brew install zsh-syntax-highlighting

然后在根目錄下.zshrc中插入下面內容:

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ~.zsh

注意:這里如果,我說的是如果,source 的時候有提示問題:

compinit:503: no such file or directory: /usr/local/share/zsh/site-functions/_brew_cask

原因有可能就是裝了brew快取記錄導致的,我們執行 brew cleanup 即可修正,

代碼補全插件

有一些插件能讓zsh變得更加酷炫!使用更加方便!比如模糊補全命令,之前我們的命令都是必須前綴命中才會補全,現在不用這么麻煩啦,直接模糊補全!

  • 智能補全:zsh-completions

在oh-my-zsh存盤庫中克隆存盤庫:

git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/zsh-completions

注意:你可能在git clone github倉庫時,會遇到SSL_ERROR_SYSCALL相關錯誤,但瀏覽器可以正常訪問github,那是因為clone請求需要LibreSSL來進行加密,但是環境沒有curl-openssl模塊,所以我們可以使用homebrew來安裝該模塊:

brew install curl-openssl

安裝成功后即可正常加密請求github倉庫資源(如果不行的話來打我),
修改.zshrc檔案,找到plugins,更新內容:

plugins=(git zsh-completions)
  • 歷史命令補全:zsh-autosuggestions
    安裝完這個命令,你會驚奇的發現,在敲擊一些命令的時候,會自動提示你的歷史命令!
    官方檔案提供的zsh-autosuggestions安裝步驟
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Add the plugin to the list of plugins for Oh My Zsh to load (inside ~/.zshrc):

plugins=( 
    # other plugins...
    zsh-autosuggestions
)

Start a new terminal session.

就不翻譯了,大家照著做就可以體驗一下智能推薦的歷史命令補全,點擊方向鍵->即可補全,屢試不爽!(不過,我試用過后發現不是很實用,反而會不方便,于是,就在配置中取消了)大家各有所需,可以自由選擇,

Iterm2水印

Iterm2還可以有更多個性化的設定,比如我們可以將遠端服務器的連接資訊放到profiles里面,然后通過快捷鍵直接連上遠端服務器,這樣就不用自己手動寫命令,很是方便,但是這樣會有一個問題,當有多個遠端服務器的時候,我們不知道當前是在哪一個服務器上面,這該如何優雅解決呢?
我來告訴你,iterm2支持在終端添加一個自定義的水印來顯示當前的位置!設定方式如下圖所示:
badge
效果就是右上角有水印可以標注我們現在訪問的是哪一個服務器,

效果圖中笑臉??的配置

細心的朋友會發現,我的終端左側有一個笑臉,這是因為,我想告訴大家:我們面對bug要保持微笑、樂觀的心態,設定方法如下:
我們進入主題目錄

cd ~/.oh-my-zsh/themes

編輯當前使用的主題:agnoster

vim agnoster.zsh-theme

找到prompt_context,按照下圖增加表情:
表情符號

字體亂碼

細心的朋友還會發現,自帶的終端、idea、vscode會出現字體亂碼的現象,解決辦法就是通過更換字體包來支持這些特殊符號,

  • 自帶終端

打開terminal的偏好設定修改字體包為Meslo
terminal
正常效果如下:
正常效果

  • vscode

同理,我們也需要修改vscode的字體包為Meslo
打開vscode的設定,然后搜索terminal font修改如下圖所示:
terminal font

  • idea

再同理,我們也需要修改idea的字體包為Meslo
打開idea的設定,然后搜索console font 修改如下圖:
idea的設定

相關鏈接

文中提到的跳轉鏈接總結如下:

  • Powerline:https://powerline.readthedocs.io/en/latest/overview.html
  • Powerline 字體庫:https://github.com/powerline/fonts
  • Iterm2更多配色:https://iterm2colorschemes.com/
  • oh-my-zsh更多主題:https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
  • zsh-syntax-highlighting官方檔案:https://github.com/zsh-users/zsh-syntax-highlighting
  • zsh-autosuggestions官方檔案:https://github.com/zsh-users/zsh-autosuggestions

最后

當我們費勁千辛萬苦終于搞定終端的樣式后,你會發現這一切努力都是值得的!因為她現在不僅像花瓶一樣好看,而且變得比以前更加實用!你更加離不開她啦!

請大家持續關注微信公眾號:程式員小明!!!一個非著名程式員的日常,
程式員小明
PS:配置程序中有遇到文中沒提到的問題,歡迎討論!

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/394902.html

標籤:OS X

上一篇:在linux中使用tcpdump抓包的方法:

下一篇:快速登陸linux服務器

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more