以前記載した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を作成し、bellをoffにする設定を行います。
set bell-style none
カラースキームに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時の高速化