以前記載した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時の高速化