勉強のモチベーションになればいいなと

ただ資格勉強するだけじゃつまらないので、資格勉強の進捗や気になったことを発信してみようかと思って始めました

windows 10 WSL最強環境

ついに最強環境が出来上がったので記事を書きます。

  • wsltty
  • tmux
  • mintty-quake-console
  • vim
  • fish

完璧までのあらすじ

  • wsl上のvimで快適に日本語入力したい
  • たくさんウィンドウを分割したい
  • ssh先をわかりやすくしたい
  • 必要な時すぐにターミナルを出したい

WSL上のvimで快適に日本語入力したい

家のメインマシンはWindows 10を使っています。Windowsってvimで快適に日本語入力するにはIMEとの戦いが欠かせないんです。 その戦いにいったん終止符を打ったので自分の環境の設定をここに記しておきます。

使っているターミナルはwslttyです。WindowsTerminalじゃうまく動かんかった。

~/.vimrcの設定値抜粋です。 基本的にここここを参考に作りました。 &termscreen-256colorになっているのはtmux上だと色がうまく出なかったのでこの設定に行きつきました。

歴史は忘れた。

set t_SI+=^[[<r
set t_EI+=^[[<s^[[<0t
set t_te+=^[[<0t^[[<s
set ttimeoutlen=20

if &term =~ 'screen-256color'
  let &t_EI .= "\ePtmux;\e\e[<0t\e\\"
elseif &term =~ 'xterm'
  let &t_EI .= "\e[<0t"
endif

ちなみに日本語入力したい理由はよくMarkdown書くからです。MarkdownのプレビューはPrevimがおすすめです。WSLからも使えるオプションがついてます。

必要な時すぐにターミナルを出したい

自分はQuakeのような上からニュッっと出てくるターミナルが好きなんですが、 Windowsで長らくいいものが見つからなくてKeypirinhaからwslttyを起動する日々を送っていました。

今日tmuxの設定やらWindowsTerminalを使おうといろいろ試していたらいいソフトウェアを見つけました。

mintty-quake-console

これを使うとminttyをquakeの様に上からニュッっと出せるようになります。

ReleaseからzipをDLしてきて解凍するだけの簡単なお仕事です。

mintty-quake-console.iniの設定値はこちら。

[General]
mintty_path=C:\Users\UserName\AppData\Local\wsltty\bin\mintty.exe
mintty_args=--WSL= --configdir="C:\Users\UserName\AppData\Roaming\wsltty" -~ tmux
hotkey=F12

[Display]
start_with_windows=1
start_hidden=1
initial_height=2160
autohide_by_default=0
animation_step=16
animation_timeout=10
animation_mode_slide=0
animation_mode_fade=1
initial_width=80
initial_trans=239
window_borders=0
display_on_monitor=0

たくさんウィンドウを分割したい

最近tmuxを使い始めたんですが、wslttyを起動するたびに手動でtmuxを起動するのが面倒くさい。 なので、wsltty起動時にtmuxを自動起動してくれるように悪戦苦闘していたんですがうまくいかなかったんです。

大体記事にあるのが~/.config/fish/fish.configに記述したり~/.zshrcに記述したりしてこねくり回してtmuxを起動させようというもので。 それを真似してみたんですがどうもうまくいかなかったんですよね。おそらくwslttyの仕様上難しいんだと思うんですけど。

wsltty起動時に~ tmuxって引数与えると起動時にtmux起動することがわかりました。完璧です。

ssh先をわかりやすくしたい

最近リモートワークするのに自分の家のマシンにいろいろssh接続する機会が増えました。 大体マイマシンはfish使って画面広く使いたくてホスト名とかプロンプトに書いてないことが多いんですよね。

そうすると今ログインしている場所がわかりづらくてどうしようと思ってたんですが、tmuxで解決しました。

参考にさせていただいたQiitaの記事はこちらです。 やっていることはここに書いてあることそのまんまです。

そのtmux上で実行した最後のコマンドも出せればよかったんですがいったん諦めました。