1. HOME»
  2. ソフトウェア»
  3. テキストエディタ»
  4. Vim»
  5. vim-airlineの使い方と設定方法。Vimのステータスバーを最強に!

vim-airlineの使い方と設定方法。Vimのステータスバーを最強に!

なんてちっぽけで なんて意味のない なんて無力な@It_is_Rです。©️尾崎豊

Vimのステータスバーをかっこよくしたいと思い、vim-airlineを使ってみたのですが、日本語の情報が少なく、思うように設定するのがなかなか大変でした。

そこで今回はvim-airlineの使い方を記事にしてみました。

目次
  1. vim-airlineとは
  2. インストール
  3. PowerLine fontのインストール
  4. vim-airlineの基本画面
  5. タブについて
  6. 各モードで表示される文字の変更
  7. 記号を変更する
  8. ステータスラインに表示する項目を変更する
  9. テーマを変更する
  10. 挿入モードからノーマルモードへの切り替えの遅延をなくす
  11. まとめ

vim-airlineとは

vim-airlineは、高速かつ軽量で、PowerLineのかわりとなるVimプラグインです。
Vimのステータスバーをかっこよくしてくれます。
また、vim-airline-themesを使うことによって、自分の好きなテーマを選ぶことができます。

人それぞれ違うと思いますが、こちらはvim-airlineに関しての設定をしていない状態です。
これでも十分綺麗ですね。

vim

インストール

では、vim-airlineとをvim-airline-themesをインストールしてみましょう。

$ git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline
$ git clone https://github.com/vim-airline/vim-airline-themes ~/.vim/bundle/vim-airline-themes

vim-plugを使っているのならこちら。

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'

PowerLine fontのインストール

もし見た目が崩れている場合は、PowerLine fontを入れましょう。

$ git clone https://github.com/powerline/fonts.git --depth=1
$ cd fonts
$ ./install.sh

あとはターミナルの「環境設定」からインストールしたフォントを選択すればOKです。
大抵のフォントは、最後に「for powerline」と書かれているので、分かると思います。

私は「Fura Mono Powerline」にしました。

ターミナル

vim-airlineの基本画面

vim-airlineの基本画面は次のようになっています。

vim-airline

A : モードの表示、crypt、spell、pasteなどの追加要素を表示します。
B : バージョン管理システムの情報を表示します。
C : ファイル名や、読み取り専用のフラグを表示します。

X : ファイル形式を表示します。
Y : ファイルのエンコードを表示します。
Z : カーソル位置や最大行などを表示します。

タブについて

vim-airlineの特徴といえば、何と言ってもタブ機能です。
このタブ、実際にはbufferがタブのように機能しているような感じで、:tabnewで表示されるタブとは少し違います。

タブを有効にする

ではタブを有効にしてみましょう。.vimrcに以下を入力します。

.vimrc

let g:airline#extensions#tabline#enabled = 1

例えば、test.jsファイルを変更している最中に、別のファイルを開きたくなりました。
:e test2.jsで、test2.jsファイルを開きます。

さらにtest3.jsファイルを開きました。
するとこのように、開いたファイルがタブで表示されます。

vim

タブを切り替える

タブを切り替える方法ですが、実際にはbufferなので、一応:bprevious:bnextで切り替えられます。
しかし、そんなのめんどくさいですよね。せっかく便利なんだから、タブの切り替えもスムーズに行いたいです。

そこで.vimrcに以下を入力します。
.vimrc

nmap <C-p> <Plug>AirlineSelectPrevTab
nmap <C-n> <Plug>AirlineSelectNextTab

これを入力しておけば、⌃Control+p⌃Control+nでタブを切り替えられるようになります。

タブに番号を表示する

タブに番号を表示することもできます。
.vimrc

let g:airline#extensions#tabline#buffer_idx_mode = 1

小さくて見えづらいですが、タブに番号が表示されました。

vim

また、番号のフォーマットを変更することもできます。

.vimrc

let g:airline#extensions#tabline#buffer_idx_format = {
	\ '0': '0 ',
	\ '1': '1 ',
	\ '2': '2 ',
	\ '3': '3 ',
	\ '4': '4 ',
	\ '5': '5 ',
	\ '6': '6 ',
	\ '7': '7 ',
	\ '8': '8 ',
	\ '9': '9 '
	\}

このようにすることで、タブの番号を大きくすることもできました。

vim

タブの区切りを変更

タブの区切り文字を変更することもできます。

.vimrc

let g:airline#extensions#tabline#left_sep = '\'
let g:airline#extensions#tabline#left_alt_sep = '/'

いいかどうかは別として、このようになります。

vim

各モードで表示される文字の変更

Vimには様々なモードがありますが、その表示される文字を変更することもできます。

.vimrc

let g:airline_mode_map = {
	\ 'n'  : 'Normal',
	\ 'i'  : 'Insert',
	\ 'R'  : 'Replace',
	\ 'c'  : 'Command',
	\ 'v'  : 'Visual',
	\ 'V'  : 'V-Line',
	\ '⌃V' : 'V-Block',
	\ }

ただ、⌃Vに関しては特殊な文字なので、コピペしても反映されません。
制御コード(⌃V)は、⌃Control+vを2回押して入力する必要があります。

記号を変更する

Vimにはいくつかのモードなど、機能がありますが、それらを様々な記号を使って表すこともできます。

.vimrc

if !exists('g:airline_symbols')
	let g:airline_symbols = {}
endif
"左側に使用されるセパレータ
let g:airline_left_sep = '⮀'
let g:airline_left_alt_sep = '⮁'
"右側に使用されるセパレータ
let g:airline_right_sep = '⮂'
let g:airline_right_alt_sep = '⮃'
let g:airline_symbols.crypt = '🔒'		"暗号化されたファイル
let g:airline_symbols.linenr = '¶'			"行
let g:airline_symbols.maxlinenr = '㏑'		"最大行
let g:airline_symbols.branch = '⭠'		"gitブランチ
let g:airline_symbols.paste = 'ρ'			"ペーストモード
let g:airline_symbols.spell = 'Ꞩ'			"スペルチェック
let g:airline_symbols.notexists = '∄'		"gitで管理されていない場合
let g:airline_symbols.whitespace = 'Ξ'	"空白の警告(余分な空白など)

実際に表示させてみたものです。

vim

暗号化したファイルを開いている場合は下のようになります。

vim

左下に鍵マークがつきました。

ペーストモードやスペルチェック、gitブランチの記号は、それらが有効になっていないと反映されません。

ステータスラインに表示する項目を変更する

ステータスラインに表示する項目を変更することもできます。

vim-airline

並び順(レイアウト)を変更

ステータスラインの項目の並び順を変更してみます。

.vimrc

let g:airline#extensions#default#layout = [
	\ [ 'z', 'y', 'x' ],
	\ [ 'c', 'b', 'a', 'error', 'warning']
	\ ]

このように、並び順が変更されます。

vim-airline

表示する項目を変更

vim-airlineのヘルプによると、デフォルトでは、以下のようになっているそうです。

A : mode, crypt, paste, spell, iminsert
B : hunks, branch
C : bufferline または filename

X : tagbar, filetype, virtualenv
Y : fileencoding, fileformat
Z : percentage, line number, column number

これらを変更するには、let g:airline_section_{項目を設定する場所} = airline#section#create(['{入れたい項目}', '{入れたい項目}'])といったふうにします。

Aに表示する項目に、ペーストモードやスペルチェックが有効かどうかの項目がありますが、別にそんなの表示する必要もない気もします。
そこで、Aにはモードと、暗号化されているかどうかのみ表示するように設定を変更してみます。

.vimrc

let g:airline_section_a = airline#section#create(['mode', 'crypt'])

ペーストモード、スペルチェックが有効になっているにも関わらず、そのマークが表示されなくなりました。
暗号化はしていないので、鍵マークは表示されていません。

vim-airline

テーマを変更する

テーマを変更すると、見た目が変わります。
様々なテーマが用意されているので、好きな物を選びましょう。

テーマの変更は、以下のように行います。

.vimrc

let g:airline_theme = 'papercolor'
vim

また、その場で確認したい場合は、:AirlineTheme {theme-name}を使うと便利です。

:AirlineTheme papercolor

テーマの一覧は、vim-airlineのスクリーンショットを参考にしてください。
vim-airline Screenshots

挿入モードからノーマルモードへの切り替えの遅延をなくす

挿入モードからEscでノーマルモードに戻す時、少し時間がかかる場合は次のコマンドを.vimrcに入れてみましょう。

.vimrc

set ttimeoutlen=50

まとめ

Vimはやっぱり見やすさとかっこよさの両方を兼ね備えていてこそ、効率のいい作業ができるのだと思います。
vim-airlineを使えば、Vimのステータスバーを簡単にかっこよくできるので、ぜひ使ってみてください。

以上、vim-airlineの使い方でした。

オリジナルゲーム.com