跳至主要內容

Putty/Vim/Tmux 256色高譚主題

很久以前看到Reddit上這篇被燒到

不過直到最近才開始動手(?

作業系統是用Ubuntu 16.04/18.04 Desktop/Server
MacOS的部份tmux原檔直接套用會有顏色問題 日後找原因補上

VIM

Vim插件的部份首先推 vimawesome
集合了大家常用的插件 還有各大vim插件管理安裝方法
個人是使用VimPlug

vim主題的話推薦 colorswat.ch
這是由iceberg主題作者寫的主題預覽網頁
主題大多安裝方法也是直接用插件管理安裝
大多主題也有同時支援airline主題配色

Plug 'cocopon/iceberg.vim'
colorscheme iceberg

雖然iceberg配色蠻好看的 最後還是選擇gotham陰暗風格

插件部份個人使用

 Plug 'scrooloose/nerdtree'
 " 檔案樹狀
 Plug 'valloric/youcompleteme'
 " 自動補齊
 Plug 'whatyouhide/vim-gotham'
 " 高譚市主題
 Plug 'vim-airline/vim-airline'
 " VIM狀態列
 Plug 'vim-airline/vim-airline-themes'
 " Vim狀態列主題
 Plug 'tpope/vim-fugitive'
 " 編輯狀態使用Git指令
 Plug 'airblade/vim-gitgutter'
 " Git檔案差異顯示
 Plug 'majutsushi/tagbar'
 " 顯示所有函數變數
 Plug 'scrooloose/syntastic'
 " 語法檢查

寫入後重開vim輸入:PlugInstall 安裝插件
裝完youcompleteme可能會遇到的問題

# YouCompleteMe unavailable: unable to load Python.(不確定是哪個lib)
apt install vim-gtk
# The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). 
python3 ~/.vim/plugged/youcompleteme/install.py --clang-completer

若colorscheme背景顏色不正確請在vim中開啟
set termguicolors

Airline的部份
可以隱藏原本大部份的資訊欄

 set noshowmode
set noruler
set laststatus=0
set noshowcmd
set shortmess=F

但沒辦法完全取消該欄位

也可以替換顯示的符號
需要先宣告
let g:airline_symbols = {}
就可以替換let g:airline_symbols.linenr/branch/paste/whitespace/readonly等等
左右分隔符號
let g:airline_left_sep = ">"
let g:airline_right_sep = "<"
也可以替換下方顯示區塊內容
let g:airline_section_a/b/c/x/y/z

+-----------------------------------------------------------------------------+
| A | B |                     C                            X | Y | Z |  [...] |
+-----------------------------------------------------------------------------+

Keymap的部份
若要使用ALT+KEY需要以ESC跳脫代表ALT
以alt+left/right切換buffer為例
nnoremap <ESC><Left> :bprevious
nnoremap <ESC><Right> :bnext

TMUX

tmux是採用 tmux-themepack的powerline/block/cyan的原形下去做色碼修改
插件管理用TPM 推薦幾個我有再用的插件

set -g @plugin 'tmux-plugins/tmux-sensible'
# 預設常用參數
set -g @plugin 'tmux-plugins/tmux-resurrect'
# 儲存tmux分頁狀態含切板 超好用!
set -g @plugin 'samoshkin/tmux-plugin-sysstat'
# 顯示cpu&mem使用量
set -g @plugin 'kristijanhusak/tmux-simple-git-status'
# 資料夾GIT狀態列

另外有試過把主題載入後下方指令覆寫
不過語法上好像無法這樣只好一行行寫入

若tmux下背景顏色只有出現在文字的部份要取消BCE(寫在vimrc)

" disable Background Color Erase (BCE) so that color schemes
" render properly when inside 256-color tmux and GNU screen.
set t_ut=

字型

最早使用tmux為了要顯示箭頭的符號先用了 DroidSansMonoSlashed
後來發現 Powerline Extra Symbols 有更炫的符號

preview

但是要patch過的字形 nerd-fonts 有提供成品字形/patch工具
必須使用non-mono的字形否則會有單格壓縮的情況 需要兩格寬度
手動patch的話在dockerhub上已經有包好的image
執行

docker run --rm -v /tmp/font/:/fonts pocka/nerd-font-patcher --windows --powerlineextra -out /fonts /fonts/Droid\ Sans\ Mono\ Slashed\ for\ Powerline.ttf

檔案丟到windows安裝後putty就可以套用了

Putty

Putty的部份要打開
Settings -> Colours -> Allow terminal to use 24-bit colours
(下載新版本才有這選項)

若 Powerline Extra Symbols部份符號只有顯示半格須將此句選
Settings ->Window > Translation -> Treat CJK ambiguous characters as wide

Putty的部份也有提供gotham的配色
不過個人認為不太適合用在terminal上 顏色太過相近
只有採用背景底色 R:10 G:15 B:20

完成品

分類:Linux

搶先發佈留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

由 Compete Themes 設計的 Author 佈景主題