素のwindows terminalで素のwslを起動すると以下のような見た目になると思います
この記事ではこれを以下みたいな感じにします
かっこいい…
tmuxのインストール
https://github.com/tmux/tmux
パッケージマネージャに依るので割愛
fishのインストール
https://fishshell.com/
パッケージマネージャによるので割愛
neovimのインストール
https://neovim.io/
パッケージマネージャに依るので以下略
別にneoじゃないvimでもいいと思いますけど確認してないです
fishのプラグインマネージャ(fisher)のインストール
https://github.com/jorgebucaran/fisher
を参考にインストールします
インストールガイドのワンライナー
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher
はfishじゃないと動作しない(bashとかみたいな別のシェルだと動かない)のに注意
bobthefishのインストール
https://github.com/oh-my-fish/theme-bobthefish
fisher install oh-my-fish/theme-bobthefish
この時点でこんな感じ
プロンプトが真っ暗ですね
set -g theme_color_scheme [theme]
でテーマを適用できます
使用できるテーマはこちらから
https://github.com/oh-my-fish/theme-bobthefish
試しにbase16-lightを適用してみる
set -g theme_color_scheme base16-light
おや、期待していたpowerlineではないですね
これはターミナル(windows terminal)のフォントがpowerlineに対応しているものではないからです
ナードフォントのインストール
powerlineを正常に表示させるにはナードフォントが必要です
なんでもいいですが自分は白源フォントが気に入っています
chocolateyユーザは cinst font-hackgen
で入ります
windows terminalのフォント設定
settings.jsonを開き適用したいプロファイルに対して以下のように追記
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false,
"fontFace": "HackGenNerd", // フォントを指定
テーマの設定は以下に記述しておきます(fishにおけるbashrcみたいなやつ)
~/.config/fish/config.fish
次にtmuxとvimのステータスバーをかっこよくしていきます
vimのプラグインマネージャ(vim-plug)のインストール
vimのプラグインマネージャを入れます
別に何でもいいですけど自分はvim-plugがシンプルで気に入ってます
他のプラグインマネージャ使用する人は適宜読み替えてください
init.vim及び.tmux.confの作成とカラースキームの指定
all plug#begin('~/.config/nvim/autoload')
Plug 'vim-airline/vim-airline'
Plug 'edkolev/tmuxline.vim'
call plug#end()
:PlugInstall
こんな感じ
自分はicebergが気に入っているのでとりあえずこれを入れてみます
icebergのようにvimでtruecolorを使用する場合、init.vim と ~/.tmux.conf の両方でオプションの指定が必要です
解説はこちらのコメント欄から、自分もよく理解してないです
call plug#begin('~/.config/nvim/autoload')
Plug 'vim-airline/vim-airline'
Plug 'edkolev/tmuxline.vim'
Plug 'cocopon/iceberg.vim'
call plug#end()
set termguicolors
colorscheme iceberg
let g:airline_theme = 'iceberg'
let g:airline_powerline_fonts = 1
set-option -g defaut-terminal "screen-256color"
set-option -sa terminal-overrides ',xterm-256color:RGB'
この状態でtmuxを再起動→fishログイン→nvim起動すると以下みたいな感じになるはず
ただしこのままだと毎回nvimを一旦起動しないとairlineが適用されないという謎の状態になってるはず
設定ファイルとして書き出してtmux起動時にそれを読み込むようにするとログイン時点で適用されるようになります
nvimを起動し、
:TmuxlineSnapshot ~/.tmuxline.conf
~/.tmux.confに以下追記
if-shell "test -f ~/.tmuxline.conf" "source ~/.tmuxline.conf"
これでtmux上でfish起動するとairline適用されるようになってるはず
ついでにシェルの背景も指定する
# ~/.tmux.conf
set -g window-active-style "bg=#161821" # テーマのカラーコードは各自調べておく
set -g window-style "bg=#262831"
windows terminalの背景を指定する
シェルを白背景にしてみたら枠が目立つようになりました
この黒枠はwindows terminalの背景色です
windows terminalの背景色を変更するにはsettings.jsonを編集すればおk
{
// 略
"name": "Windows PowerShell",
"colorScheme": "iceberg-dark",
// "colorScheme": "iceberg-light",
},
// 略
"schemes": [
{
"name": "iceberg-dark",
// 略
"background": "#161821",
"foreground": "#c6c8d1",
// 略
},
],
ちなみにシェルのプロンプトにもvim-airlineを利用するpromptlineというものがあった(tmuxlineと同作者)けどリポジトリの状態表示なんかでbobthefishが一枚上手だったので今回はスルー
bobthefishのテーマ自分で弄れたらよかったけどよくわからん
おわり