47歳でやむなくセミリタイア

病気のためセミリタイアをすることに。現在は週20時間程度のバイトをしています。その他、雑多なことを記録として書いています。

WSL2設定まとめ (2024年2月版)

以前記載したWSL2の設定が大分古くなって通用しなくなってきたので、最新版を作成しました。

要するに再設定用のメモです。

WSLのインストール

PowerShellからwsl --installを実行します。 古いバージョンが使いたい場合には、バージョンを指定してインストールします。 インストール可能な一覧は、wsl -l -oで表示できます。

PS> wsl --install Ubuntu-18.04

再起動が要求されるので、再起動を行った後、ユーザとパスワードの設定を行えばインストール完了です。

インストール後に以下を実行してパッケージをアップデートしておきます。

$ sudo apt update
$ sudo apt upgrade

wslttyのインストール

ここ(Releases · mintty/wsltty · GitHub)から、wsltty-***-x86_64-install.exeをインストールします。 Optionsで以下を設定します。

  • TextのFontをMSゴシック, 9ptにする
  • MouseのRight mouse buttonをPasteにする
  • WindowのDefault sizeを 155 x 36 にする

claunchからwslttyを起動しようとするとアイコンが表示されないことがあります。この場合claunchの右クリックメニューで「アイテム登録」で登録する際に、「ショートカットをリンク先に変換」のチェックを外しておくと表示されるようになります。

また、Ubuntuをアップデートした際に、アイコンが表示されなくなることがありますが、wslttyを上書きインストールすると直ります。

ロケール設定

.bashrcに以下を追加する。

export LANG=ja_JP.UTF-8
export LANGUAGE=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

以下を実施して、CUIでja_JP.UTF-8を選択した後、ターミナル(wsltty)を再起動します。

$ sudo locale-gen ja_JP.UTF-8
$ sudo dpkg-reconfigure locales

.inputrcの設定

~/.inputrcを作成し、bellをoffにする設定を行います。

set bell-style none

vimの設定

カラースキームにhybridを設定する

$ git clone https://github.com/w0ng/vim-hybrid
$ mv vim-hybrid/colors/hybrid.vim ~/.vim/colors/

.vimrcに以下を追加する。

set background=dark
colorscheme hybrid
set t_Co=256            " need for colorscheme hybrid

syntasticを設定

vim編集中にphpなどの構文チェックを行ってくれるsyntasticを設定します。 本家(GitHub - vim-syntastic/syntastic: Syntax checking hacks for vim)にある方法そのままです。

まずはvimプラグインを管理するパッケージのpathogen.vimをダウンロードします。

$ mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

.vimrcに以下を追加する。

execute pathogen#infect()

syntasticを設定

syntasticをダウンロードします。

cd ~/.vim/bundle && git clone --depth=1 https://github.com/vim-syntastic/syntastic.git

.vimrcに以下を追加する。

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

.vimrcの設定

上記のものも含めて.vimrcのまとめです。

execute pathogen#infect()

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

syntax enable
set autoindent        " phpのインデントにはsmartindentとcindent も必要
set smartindent
set cindent
set vb t_vb=            " bellのoff
set background=dark
colorscheme hybrid
set t_Co=256            " need for colorscheme hybrid
set encoding=utf-8
set expandtab
set tabstop=4
set shiftwidth=4
set cursorline
set ambiwidth=double
set redrawtime=10000
set regexpengine=1  " syntax on時の高速化