Contents

[Pietty]Vim不能貼上問題&換字體顏色

在使用 PieTTY(或其他 SSH 終端機)連線到 Raspberry Pi 後,有時會遇到 Vim 無法右鍵貼上的問題,以及終端機顯示的字體顏色(如深藍色)在黑色背景上看不清楚的問題。這篇筆記整理這兩個問題的原因與解決方式。

問題一:SSH 中 Vim 無法右鍵貼上

問題原因

Vim 預設在終端機中啟用了 smartindent 或自動縮排功能,當你從系統剪貼簿貼上內容時,每一行都會被自動縮排,導致貼上的程式碼排版錯亂或失敗。

另外,通過 SSH 連線的 Vim 通常沒有存取系統剪貼簿的能力,因為 Vim 需要有 +clipboard 支援,且必須有 X11 顯示環境才能與系統剪貼簿溝通。

解決方式一:使用 paste 模式

在 Vim 中,貼上前先啟用 paste 模式,可以暫時關閉自動縮排等干擾貼上的功能:

1
:set paste

貼上完成後,記得關閉 paste 模式:

1
:set nopaste

也可以設定快捷鍵,在 ~/.vimrc 中加入:

1
2
" 用 F2 切換 paste 模式
set pastetoggle=<F2>

解決方式二:使用 PieTTY 的貼上功能

PieTTY 使用 Shift + Insert 或從選單選擇貼上,比直接右鍵更可靠。

解決方式三:使用 xclip 或 xsel(若有 X11 轉發)

若啟用了 X11 Forwarding(ssh -X),可以安裝 xclip 讓 Vim 存取系統剪貼簿:

1
2
3
4
sudo apt-get install xclip

# 在 ~/.vimrc 中設定
set clipboard=unnamedplus

在 Vim 8+ 的替代方案

1
2
3
4
5
" 複製到系統剪貼簿
"+y

" 從系統剪貼簿貼上
"+p

問題二:PieTTY 中藍色文字看不清楚

問題原因

SSH 終端機的預設顏色主題中,深藍色(ANSI color code 4)在黑色背景上對比度非常低,導致難以閱讀。這在查看 ls 的目錄顏色或 Vim 的語法高亮時特別明顯。

解決方式一:修改 PieTTY 的色彩設定

在 PieTTY 設定中,找到「Change Settings → Window → Colours」,將 ANSI Blue(索引 4)的顏色改成較亮的藍色(例如 #5C8AE6#6699CC)。

解決方式二:修改終端機的 LS_COLORS

~/.bashrc~/.zshrc 中調整 LS_COLORS

1
2
# 將目錄顏色從深藍改為亮藍(1;34 = 粗體亮藍)
export LS_COLORS="di=1;34:ln=36:so=32:pi=33:ex=32:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"

解決方式三:使用 256 色主題

安裝並設定支援 256 色的 shell 主題,可以得到更豐富且對比度更好的配色。在 ~/.bashrc 中確認終端機支援 256 色:

1
export TERM=xterm-256color

解決方式四:改用其他 SSH 客戶端

現代 SSH 客戶端如 MobaXtermWindows Terminal + OpenSSHTermius 提供更好的色彩支援和可自訂的配色主題。

參考資料