在開始安裝套件前,首先認識一下 pacman,它是 Arch Linux 的 package manager。幾個使用方式如下:
pacman -Suy
更新所有已安裝的套件pacman -S package_name1 package_name2
下載一(多)個套件pacman -Q
已下載的套件pacman -R package_name1 package_name2
移除一(多)個套件
更多的資訊可以輸入 pacman -h
。
預先安裝
- Windows 的使用者請先安裝 Windows Terminal,往後都會使用 SSH 的方式來進行操作
- 安裝 Nerd Fonts 以解決遺失 Icons 的問題
SSH 連線
開始設定 SSH:
sudo pacman -S openssh # 上一篇有安裝了
sudo systemctl enable sshd.service # 開機自動啟動服務
sudo systemctl start sshd.service # 啟動服務
SSH 預設的 Port 為
22
。
接著要到 VirtualBox 進行 Port 的相關設定,將 VM 的 Port 22
映射到主機的 Port 3022
:
接著打開 Windows Terminal 進行連線:
ssh -p 3022 username@localhost
輸入密碼後就可以進入虛擬機。
Fish Shell
先從 Shell 開始,這裡我會選擇使用 Fish 來當作我的 Alternative shells
。
sudo pacman -Suy # 先確認現存的套件都是最新的
sudo pacman -S fish
exec fish # 進入 fish shell
為了讓每一次開啟都會自動進入到 fish shell,使用 nvim ./.bashrc
並加入:
exec fish
如果不想在每一次 sudo
時都輸入密碼,使用 sudo nvim /etc/sudoers.d/
並選擇正在使用的帳戶 ( 危險但是方便 ):
username ALL=(ALL) NOPASSWD: ALL
Fisher
安裝 Fish 的插件管理器 jorgebucaran/fisher:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
接著使用 Fisher 安裝 IlanCosman/tide。它能讓使用者自己設 Status line 和主題:
fisher install IlanCosman/tide@v5
安裝完後就能看到設定畫面,根據自己的喜好做設定即可。
此時會注意到某些 Icons 無法顯示,如果有安裝 Nerd Fonts 就到 Windows Terminal 套用就可以解決了:
想重新設定可以輸入:
tide configure
如果你是 Node.js 的開發者,你就會需要 nvm 來管理 Node.js 的版本:
fisher install jorgebucaran/nvm.fish
安裝 LTS 版本:
nvm install lts
接著可以使用以下指令確認是否安裝成功:
npm -v
// 9.5.1
node -v
// v18.16.0
如果重開機沒有 Node.js 可以輸入 nvm use lts
來解決這個問題。
除了上面兩個插件外,我還安裝了:
其他更多的 Fisher 插件可以到 jorgebucaran/awsm.fish 查詢。
實用套件
git
git 版控系統
sudo pacman -S git
相關設定 ( 直接在命令列輸入 ):
git config --global core.autocrlf input
git config --global core.safecrlf true
git config --global init.defaultBranch main
git config --global core.editor "nvim"
exa
exa ls
的現代版本。
sudo pacman -S exa
根據官方設定,直接將設定加到 .config/fish/config.fish
:
alias l "exa -lg --icons"
alias ll "exa -alg --icons"
退出後輸入 exec fish
來套用新的設定。
tmux
tmux 在一個終端機下,同時開啟多個視窗 ( windows
)、分割區塊 ( panes
)。
sudo pacman -S tmux
使用方式可以參考 終端機 session 管理神器 — tmux。
neovim
neovim 是一個以 vim 為基底的可擴展文字編輯器。如果在上一篇沒有安裝的話,這邊可以使用 pacman 來安裝:
sudo pacman -S neovim
如果沒有下載任何插件那它就和 vim 一樣,如果有需要請參考我的設定 et860525/dotfiles,未來我也會針對 neovim 來寫一篇文章。
結語
這就是目前我專案建構與運行的環境,最一開始卡關的地方是 Port
映射的部分,之後的挑戰就是建構屬於自己的 neovim。雖然我通常還是使用 VSCode 再用 SSH 連線到虛擬機,但是有時候立即更改檔案 neovim 對我的幫助就很大。