➣ Reading Time: 8 minutes

前言:

身為一個萌新工程師,整天盯著終端機看是必須的,因此有個漂亮的介面能讓整天工作看的舒爽真的非常重要呢!!!

網路上目前安裝的方法有部分步驟已經有些過時,因此分享一些自己在安裝時做的一些筆記。(適用於最新的 macbook)

安裝的好處:

  • 可以自己配置好看的終端機介面 (整天盯著終端機的工程師就是要一個好看的介面才舒服啊!)
  • 可以使用 zsh 的各種好用 plugin,例如:自動完成、指令拼字檢查。

個人配置分享:

可以直接查看電池電量(與是否充電中)、資料夾路徑。程式是否正確執行、歷史紀錄筆數、程式運行時間、網速、記憶體用量、現在使用的python版本與環境、與現在時間,方便記錄各種事情!(還有更多可以個人化配置的功能)

安裝 homebrew, iterm2

# 安裝 homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 測試安裝完成
brew --version
# 安裝iterm2,之後我們都使用 iterm2 做為我們的終端機
brew cask install iterm2

安裝 zsh

因為 macOS 2018 Mojave 已內建 zsh,我們不需要再裝 zsh。

# change to zsh shell
chsh -s /bin/zsh

此時退出shell重開,我們會發現原本的$字號變成%符號。

安裝 oh-my-zsh

# 安裝 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安裝完成後,我們會發現原本%符號變成了~符號。
並在家目錄底下多了一個 ~/.oh-my-zsh 的資料夾。

安裝 powerlevel10k

應該算是這篇文章的重頭戲了,網路上的教學大多停留在安裝 powerlevel9k,powerlevel10k 有提供了一些方便的簡易設定。

# 下載並安裝 powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>! ~/.zshrc
# 方便使用者的簡易設定
p10k configure
# (進階編輯配置) ~/.zshrc (zsh 的預設配置)
vim ~/.zshrc
# (進階編輯配置) ~/.p10k.zsh (powerlevel10k 的配置)
vim ~/.p10k.zsh

輸入 p10k configure 後,會視覺化的讓你選擇一些個人配置的喜歡的樣式,是 powerlevel10k 最大的特色。

另外,如果想要更多個人化的設定,可以去設定 ~/.p10k.zsh 這個文件中,配置自己想要的樣式。

★ 這裡附贈個人設定後的檔案

使用方式:修改檔名成 .p10k.zsh 並放置於 ~/ 底下

此外有關於環境的配置 (例如 Anaconda),可以去 ~/.zshrc 中進行設定。

下載字體 (Nerd font, powerline font)

其他網站提供的下載的方式很多不能用了,另外如果將整包字體打包下載檔案也非常的巨大,因此參考其中一篇文章提供的方法,直接下載我們要的字體包。

https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/SourceCodePro.zip

新增 iterms 主題配色

https://github.com/mbadolato/iTerm2-Color-Schemes

clone 並 import 至 iterm 2 主題

安裝 plugins

zsh 有很多方便的 plugins,對工程師來說非常方便,畢竟什麼事情能自動完成真的是懶人工程師的福音呢~~!

個人常用的 plugins 分享:

  • Syntax Highlighting Plugin

終端機下的指令自動檢查語法,不正確的語法也會以紅字顯示。

  • ZSH-AutoSuggestion Plugin

終端機中的指令自動完成,會自動記憶常使用的語法,之後只要按→就可以自動完成指令。

# Syntax Highlighting Plugin
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git {ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# ZSH-AutoSuggestion Plugin
git clone https://github.com/zsh-users/zsh-autosuggestionsZSH_CUSTOM/plugins/zsh-autosuggestions
# 修改 ~/.zshrc 以使用 plugins
vim ~/.zshrc
plugins=(
git
zsh-syntax-highlighting
zsh-autosuggestions
)

註:原本系統的終端機出現亂碼,怎麼辦?

原本系統的終端機介面與iterms 2的介面是不同的

  • 這邊的介面指的是文字的大小、字體、顏色…等。
  • -> 不是顯示的文字「內容」

主要原因是找不到特殊符號的對應字體
(可以想像,只有英文的字體包,不能顯示中文字,也會會壞掉)

  • 點選左上角終端機 -> 偏好設定,依照下圖設定去更改字體:

Reference

https://home.gamer.com.tw/creationDetail.php?sn=4841894

https://dustinhsiao21.com/2019/04/09/透過在-mac-上安裝iterm2-活潑你的終端機/

https://medium.com/數據不止-not-only-data/macos-的-terminal-大改造-iterms-oh-my-zsh-全攻略-77d5aae87b10

⭐Linux 指令 相關文章整理⭐:
⭐終端機 (terminal) 常用 總整理⭐:
1.(terminal指令 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 指令 & 基礎知識總整理,初學者/新手 必須知道的基礎指令 & 基礎知識大全(持續更新)
2.(terminal快速鍵 常用總整理)【Linux】linux/ubuntu/mac 基礎終端機 (terminal) 快速鍵/小技巧,初學者/新手 必須知道的一些實用功能!(持續更新)
3.(vim指令 常用總整理)【Linux】linux/ubuntu/mac vim 的 新手/初學者 的基礎使用指令 與 個人常用功能總整理 (持續更新)
4.【MobaXterm】在 Windows 中使用 MobaXterm VPN 連線至遠端系統 (linux, ubuntu) 遠端 ssh 顯示畫面
⭐Linux 基礎指令篇⭐:
1.【Linux】(作業系統基礎知識) 簡單理解「相對路徑」與「絕對路徑」,程式設計 初學者/新手 必須知道的路徑知識總整理
2.【Linux】linux ubuntu 中利用 mkdir 建立資料夾 相關參數總整理 (必定建立資料夾、修改資料夾權限 777)
3.【Linux】linux ubuntu 使用 terminal (終端機) 關機 shutdown、重新開機 reboot 的方法
⭐Linux 網路相關指令篇⭐:
1.【Linux】利用 ifconfig 查詢 ip 並用 scp 傳送資料 – linux, ubuntu 基礎終端機指令學習 sample code (內含範例程式碼)
2.【Linux】使用 sshfs 連線 將遠方磁碟當作像是在自己電腦的硬碟 mount disk on other computer
3.【Linux】使用 curl 將網路上的檔案 透過終端機 terminal 的方式下載 download
⭐Linux 進階指令篇 (檔案處理相關)⭐:
1.【Linux】linux, ubuntu 壓縮檔案常用指令 tar gzip zip 7z 壓縮檔案切割、壓縮檔案加密 與 解壓縮套件安裝方法 (內附圖文說明)
2.【Linux】Linux 查詢資料夾內的檔案數目 ls -1 | wc -l
3.【Linux】linux ubuntu 中利用 tail -f 可以查看 log 並不斷更新
4.【Linux】在終端機 terminal 使用 ln -s 建立如 windows, mac, ubuntu 檔案系統上的捷徑 – 軟連結 (Symbolic Link)
5.【Linux】linux, ubuntu 使用 split 指令檔案切割、檔案合併
6.【Linux】Linux 運用 sed 進行檔案內容的取代 instead 用法
7.【Linux】mac/ubuntu 如何利用 terminal 打開 GUI 資料夾總整理
⭐Linux 進階指令篇 (搜尋相關)⭐:
1.【Linux】linux, ubuntu 使用 ps, grep, pgrep 找到程式碼的 相關資訊 與 pid (ps aux, ps -ef)
2.【Linux】linux ubuntu 使用 grep, awk, xargs 尋找需要的資料,快速濾出/篩選 結果欄位 所需要的資訊 (內附圖文說明) filter column
⭐Linux 特殊應用篇⭐:
1.【Linux】Linux 增加 swap 的虛擬記憶體空間
2.【Linux】在 Ubuntu (Linux 系統) 上透過 / etc/fstab 安裝新的硬碟、新增硬碟容量 (SSD, HDD) (內附圖文說明)
3.【Linux】linux / ubuntu 複製硬碟的方法 copy all disk
4.【Linux】(內附圖文說明) ubuntu 停止自動更新的方法 disable auto update
5.【Linux】linux/ubuntu 下執行 anaconda-navigator 的方法
⭐Bash 自動化程式撰寫⭐:
1.【Bash】echo,bash 的 hello world 基本教學,開始自動化程式的第一堂課 / 撰寫腳本,利用 echo 顯示變數
⭐【喜歡我的文章嗎? 歡迎幫我按讚~ 讓基金會請創作者喝一杯咖啡!
如果喜歡我的文章,請幫我在下方【按五下Like】 (Google, Facebook 免註冊),會由 「LikeCoin」 贊助作者鼓勵繼續創作,讀者們「只需幫忙按讚,完全不用出錢」哦!

likecoin-steps