【Linux】zim (+zsh) – 也許是目前最快也最實用的 linux terminal 與套件,直接把終端機開發效率飆升到最高

➣ Reading Time: 13 minutes

前言

凡是使用終端機開發的工程師,
遲早都會碰到經常使用 terminal 的階段,
而這時,使用 terminal 的效率就會變成一個重要的指摽!

如果有個又快又好用的 terminal,相信對工程師的開發效率來說一定是一大幫助!

什麼是 zim (使用 zsh shell)

zim 全名為 zsh improved framework,是 zsh shell 的一個強化框架XD,
總之就是很多內建的東西只要安裝 zim 這一包就全部幫你完成,

包含自動完成、git 相關指令自動完成
超強的「自動完成選單」、有時候還會被嚇到的「正規表示式自動轉譯」,
而且「速度還超快」,嚇死人的非常的方便。

根本就是一大包已經幫你整理好的超棒東西,直接整包弄好載下來!

安裝 zim 的方法

安裝 zsh

安裝 zim 之前,請先安裝好 zsh,這部分我在其他的文章已經有提過了
mac 的 zsh 是內建的,而 ubuntu 安裝 zsh 的方法為:

#!/bin/bash
echo "[1/4] update system"
sudo apt-get update -y
sudo apt-get upgrade -y

echo "[2/4] install zsh"
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
sudo apt-get install zsh -y

echo "[3/4] Show all current shells"
cat /etc/shells
echo $SHELL

echo "[4/4] change default shell to zsh shell"
chsh -s /bin/zsh
#grep pi /etc/passwd #check change shell in /etc/passwd

這邊註一下:如果有裝過另外一個也是很有名的 oh-my-zsh 框架,
建議是先移除以避免衝突啦… 不過我自己先安裝了oh-my-zsh 沒移除直接安裝,
目前看起來好像也沒事…. (可能有變慢的問題XD 追求速度請慎!)

安裝 zim

安裝好 zsh 後,zim 安裝方式也很簡單,只需要以下一行,就可以體驗各種強大的功能:

curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh

補充小知識:zim 是 zsh improved 的縮寫哦!

體驗一下 zim 的好用

基本的「語法判斷正確」與「自動完成」在 oh-my-zsh 都有了,
這不夠看! 接下來才是比較扯的!

自動語法辭典

那個.. 指令都不用背了是吧?
只要有點印象,按一下 tab,剩下的就通通跑出來囉!

還可以繼續按 tab 配合上下左右,直接選到你要的指令,猛!

連 git branch 的名稱都可以自動完成?! (神扯)

基本上一般我們使用 git 的時候,都會碰上需要輸入「完整 git branch 名稱的問題」,
zim 終於用 tab 搞定了!!! 還有各種 commit 紀錄也行

也可以繼續按 tab 配合上下左右,直接選到你要的,神扯!

支援正規表達式的內容自動展開?! (幹這真的爆扯)

正規表達式,是我們通常用來表示複數檔案的表達方法,

例如:「*.mp4」,就等於該資料夾底下的所有 mp4 檔案,可以一次對大量檔案進行處理。

但是… zim 在輸入完正規表達式之後,按一下「tab」,
居然會自動展開正規表達式?! (也就是搜尋完全部符合正規表達式的結果,並列出來)

這我只能說 WTF 了?! 太猛了吧 zim (雖然不一定實用啦XDD 但這夠酷!)

下面我只輸入 「day*」,按一下「tab」,
所有符合「day 開頭的全部都被展開了!」,好扯!

全步驟腳本整理

in host (ubuntu)

#!/bin/bash
echo "[1/5] update system"
sudo apt-get update -y
sudo apt-get upgrade -y

echo "[2/5] install zsh"
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
sudo apt-get install zsh -y

echo "[3/5] Show all current shells"
cat /etc/shells
echo $SHELL

echo "[4/5] change default shell to zsh shell"
chsh -s /bin/zsh
#grep pi /etc/passwd #check change shell in /etc/passwd

echo "[5/5] install zim"
curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh

in container (no root)

#!/bin/bash
echo "[1/5] update system"
apt-get update -y
apt-get upgrade -y

echo "[2/5] install zsh"
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
apt-get install zsh -y

echo "[3/5] Show all current shells"
cat /etc/shells
echo $SHELL

echo "[4/5] change default shell to zsh shell"
chsh -s /bin/zsh
#grep pi /etc/passwd #check change shell in /etc/passwd

echo "[5/5] install zim"
curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh

Reference

⭐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
預設圖片
Howard Weng
我是 Howard Weng,很多人叫我嗡嗡。這個網站放了我的各種筆記。希望這些筆記也能順便幫助到有需要的人們!如果文章有幫助到你的話,歡迎幫我點讚哦!
文章: 391

1 則留言

★留個言吧!內容有誤或想要補充也歡迎與我討論!