項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 search-input 尚未註冊或是沒有一個 view.php 檔案.

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

前言

凡是使用終端機開發的工程師,
遲早都會碰到經常使用 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