在 macOS 透過 zsh 編輯屬於自己的快捷鍵、別名

人的進步始終來自惰性

最近看到同事的一指令同步所有 Git 專案覺得很神奇,當時僅有這樣的感覺。後來在工作上一直重複得打一些指令覺得很阿雜,心想為什麼我要一直做這種事情,其實滿腦子根本已經是那個神奇的別名(alias)的形狀了,於是我就開始編輯屬於自己的別名囉!

必備工具

如果你從來沒有安裝過 Brew Cask 的話需要先執行安裝,下面會用到

1
brew tap caskroom/cask

選擇好用的 Terminal

大部分人應該都選用這款 iTerm2,比內建的功能強大非常多。

透過 Brew Cask 安裝:

1
brew cask install iterm2

編輯顏色實在太麻煩了?

可以參考 iTerm2 Color Schemes

下載後匯入到 iterm2 就有很多漂亮的風格可以選擇

如何解決亂碼問題 => Powerline Font

後面一些擴充套件能夠在 iTerm2 上顯示一些 icon,使得整體更美觀,但如果沒安裝相關擴充,畫面上會出現部分的亂碼喔!

  • 安裝 Powerline font
1
brew cask install font-sourcecodepro-nerd-font

主角們 zsh & Oh My Zsh

zsh 功能很強大,但是需要設定的內容太繁複,因此多了 Oh My Zsh 來大幅降低上手難度

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

這個指令是完全複製自官網的介紹,不放心的話也可以透過上述連結來找到。

最後安裝美觀與功能兼具的 PowerLevel9k

1
brew install powerlevel9k

成品:

alt


環境準備好後我們就能開始編輯自己的快捷鍵囉!

編輯 alias

檔案位置在使用者帳號底下,檔名 .zshrc

開啟檔案

我們使用vi指令開啟,並拉到最下面,按下 i 開始編輯

1
# vi ~/.zshrc

這邊其實就已經有給你範例了,把註解#拿掉就是一個別名。
alt

我們這邊用快速取得客製化時間格式來當範例
一般的date指令格式不習慣,我只需要年月日的話總不能每次都這樣打
alt
於是設定了以下別名,就叫做getdate好了

1
# alias getdate="echo $(date +"%Y/%m/%d")"

存擋

編輯完後按 esc,輸入 :wq 再按下enter即可儲存

重載zshrc檔案

1
# source ~/.zshrc

接著就可以享受成果囉!
我使用了refcfg指令也是設定好的別名,在下面的範例就會看到。
alt

每個人的使用習慣與需求都不同,但一定都會有很多冗長的指令需要重複輸入或操作的,使用alias會讓我們在工作上方便很多很多。

下面分享一些我自己的設定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# zshrc
# 使用vscode開啟.zshrc
alias cfgzsh="code ~/.zshrc"
# 重載.zshrc
alias refzsh="source ~/.zshrc"

# docker
alias dk="docker"
alias dc="docker-compose"

# dotnet
alias dn="dotnet"
alias dnb="dotnet build"
alias dnr="dotnet run"

# Private Github Misc repo
# 一指令push到私有倉庫,並且使用當下的時間作為commis message
alias pushmisc="cd /Users/pattri.chou/Documents/private/git && git add . && git commit -m "$(date +"%Y/%m/%dT%H:%M:%S")" && git push -u origin master"

使用 Visual Studio Code 編輯

其實就是使用 visual studio code 來開啟,那要怎麼做呢?雖然有指令,不過我還蠻懶惰的,有GUI點一兩下就好了。

  1. 首先打開 visual studio code
  2. 同時按 command+shift+p (⌘⇧P)
  3. 輸入 shell
  4. 點擊 “Install ‘code’ command in PATH” 就大功告成啦
    alt
  • 作者: MingYi Chou
  • 版權聲明: 轉載不用問,但請註明出處!本網誌均採用 BY-NC-SA 許可協議。