大幅提高方便性
前言
本篇不包含如何安裝作業系統,而是在作業系統 (不限於直接安裝,大部分在虛擬機、WSL2 也適用) 上調整設定或安裝一些工具
inputrc
[如果稍後會安裝 oh-my-bash 可以跳過]
在 home 下編輯 vim ~/.inputrc
,內容如下,儲存後關閉重開終端機,就可以實現打前幾個字按"上"然後搜尋歷史紀錄了。
"\e[A": history-search-backward
"\e[B": history-search-forward
進階參考: A ~/.inputrc for Humans
oh-my-bash
先前我有試用過 Fish shell 1,真的蠻人性化的,不過因為後來大部分要跑實驗,主流還是使用 bash,fish 也無法支援部分 bash 的功能,因此就放棄使用了。也因此就研究 bash 相關的內容,也沒有機會使用 Zsh 2。
ohmybash/oh-my-bash 提供了許多功能,雖然無法到達 fish 那樣提供視覺化的指令補全 3,不過跟原生的 bash 比較還是方便許多。
- oh-my-bash 安裝方式: https://github.com/ohmybash/oh-my-bash#basic-installation
我也有設計一個主題,不過沒有 PR,所以要使用的話在安裝完 oh-my-bash 後再透過下面連結提供的指令安裝:
- oh-my-ouo 主題安裝方式: https://github.com/aben20807/oh-my-ouo#install
方便的功能
mcd
可以取代mkdir
+cd
- git 會顯示修改狀態
- bashmarks (
bm
) 可以提供書籤功能,快速到達指定資料夾 - virtualenv 會標註目前在虛擬 python 環境 (ouo 主題)
- 不需要修改
~/.inputrc
就可以搜尋歷史紀錄
file manager (nautilus) copy file path
[WSL2 不適用]
有時候透過 GUI 找檔案時要複製它的路徑,這個套件就有點類似 VSCode 的功能,讓檔案管理員也可以直接複製檔案路徑。
Ag - silver searcher
搜尋文字檔案內容用,在找程式碼時下頗方便的。有時候在 GitHub 網頁內的搜尋結果找不到的用 ag 就對了。
Rust 相關工具
Rust 最近越來越穩定,也有許多工具都用 Rust 重寫且使用起來更為友善,不過要使用這些工具前要先安裝 Rust。
- Rust 環境安裝方式: https://www.rust-lang.org/tools/install
- 另外要將下方內容放到
~/.bashrc
中
# Rust
export RUST_HOME=$HOME/.cargo/
export PATH=$PATH:$RUST_HOME/bin
exa 取代 ls (停止維護)
因為我們已經有 Rust 環境了,所以可以使用 $ cargo install exa
安裝。
eza 取代 ls
因為我們已經有 Rust 環境了,所以可以使用 $ cargo install eza
安裝。
~/.bashrc
中可以加入以下來取代 ls
alias ls='eza -F --group-directories-first'
alias ll='eza -alF'
alias lls='eza --sort=size -l'
bat 取代 cat
安裝:
$ cargo install --locked bat
alias:
alias cat='bat'
dust 取代 du
安裝:
$ cargo install du-dust
alias:
alias disk='dust -x'
delta 高級 diff
安裝:
$ cargo install git-delta