Terminal

プログラミングなんかに興味があります。いろんな人の技術を盗んで強くなりたい。Twitter:@taiki_okano_i

PowerlineとVim、zsh、tmuxの環境を最速で構築する on Ubuntu 16.04

この記事はVim Advent Calender 2017の23日目の記事です。(夜までに書き終わってるといいな)

前書き

実は最近、Ubuntuで競プロとかやることが増えてきたのですが(僕はこっちにも記事を出す予定です。「競プロ!!」 競技プログラミング Advent Calendar 2017Ubuntuなんて、仮想環境の上に組み立ててやるぐらいしかやらないので、なんども再インストールしたりするのですが、その度にPowerlineのセットアップにすごい時間を使うので、いい加減、手順をまとめておこうと思います。ちなみにJOI(情報オリンピック)本選に出場する人は本選でUbuntuを使わされると思うので、見ておくといいかもしれません。(本選で新たにパッケージをインストールすることはできないので、Vimになれるぐらいにしかならないけど)

完成予想図

f:id:taiki-okano:20171223222646p:plain環境

MacBook Air Early 2015

容量が足りない。(128GB)

tmux

入ってないことはないとは思いますが、入れてください。

$ sudo apt-get install tmux

zsh

zshですが、個人的にはoh-my-zshがお勧めです。
まず、zshに切り替えます。

$ which zsh
/usr/bin/zsh
$ chsh
Password:
Changing the login shell for hoge
Enter the new value, or press ENTER for the default
        Login Shell [/bin/bash]: /usr/bin/zsh

それから、oh-my-zshをインストールします。

$ sudo sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

あと、oh-my-zshはテーマを変えることができます。個人的にはavitがお勧めです。

ZSH_THEME="avit"

Vim

普通、標準で入っていますが、一応。

$ sudo apt-get install vim

あと重要なのが、自分のVimに入っているpythonのバージョンを調べることです。

$ vim --version | grep python
+cryptv          +linebreak       -python          +vreplace
+cscope          +lispindent      +python3         +wildignore

標準だと、python3が入っているはずです。(Ubuntu 16.04)

Powerlineのインストール

ついに、Powerlineのインストールをするのですが、その前に上で調べてもらったpythonがpython3だった場合はpip3をインストールしましょう。(Vimpythonのバージョンの関係でPowerlineが呼び出せない)

$ sudo apt-get install python3-pip

その後、Powerlineをインストールします。

$ pip3 install --user powerline-status

それから、Powerlineの設定ファイルの場所を調べておきます。通常は以下の位置にあるはずです。

$ cd .local/lib/python3.5/site-packages/powerline/bindings/

パスは自分のpythonのバージョンに変えてください。

tmuxの設定

.tmux.confに書き込みます。

run-shell "powerline-daemon -q"
source ".local/lib/python3.5/site-packages/powerline/bindings/tmux/powerline.conf"

パスは自分のpythonのバージョンに変えてください。
(ちなみに、この設定だとホームディレクトリからtmuxを起動しないと、エラーが出ます。それを回避するには、パスを絶対パスにしてください。)

Vimの設定

追加するだけ、自分のpythonのバージョンに合わせてください。あと、laststatusを2にして、常に最終行が表示されるようにすること。

" Powerline settings
set laststatus=2
set showtabline=2
set t_Co=256
python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup

最後に

以上がUbuntuでPowerlineとtmux + Vim + zshでの最速での環境構築だと思います。バージョンの違いとかで、公式ドキュメントにも載ってない罠がところどころにあるので、気をつけてください。