読者です 読者をやめる 読者になる 読者になる

at kaneshin

Free space for me.

Vim をあまりカスタマイズしなくなった話

f:id:laplus-knsn:20161212225440p:plain

この記事は Vim Advent Calendar 2016 - Qiita の11日目の記事です。

社内ではVimハラスメントが横行していますが、私自身のVimは毎朝やる最新版ビルドを除いてカスタマイズすることがほぼ無くなりました。 元からハードにカスタマイズはしておらず、 ctrlp あれば十分だなという感じで、たまに .vimrc をいじるのは新しい言語を試すときにシンタックスのプラグインを導入するくらいです。

さて、そんなVimmerの私が「これだけおさえていれば充分」という基本機能を紹介します。


ちなみに、 ctrlp の記事を4年前の Vim Advent Calendar で書いています。

blog.kaneshin.co

バッファ

Vimにはバッファという機能があり、開いたファイルをVim上で管理されています。バッファを確認するには :buffers:ls コマンドを叩いて確認します。

f:id:laplus-knsn:20161211221409p:plain

バッファの表示について、詳しくは :h ls などでヘルプを確認すれば詳細はわかるかと思います。

このバッファで表示された際、添字として数字がついています。このバッファを開くためには :b [N] のように数字を指定することによって開くことができます。

上にある画像を例にすると、 get.go というバッファを開くためには :b 1 とするか :b # とすることによって開きます。

タブ

タブもとても便利です。ただ、バッファを使いこなせばGUI用の上位互換でしかないのかなという印象にもなるので、バッファを使いこなすことがピュアな Vim を使うための大事な一歩だと思います。

GUI の Vim を使っている場合はタブをクリックすることにより、そのタブを開くことができるので、GUI用なのかなという気持ちもあります。

補完

f:id:laplus-knsn:20161211223016p:plain

Vimプラグインには強力な補完が存在していますが、私は補完をするときのロードによって起こる若干の引っかかりがとても気になるため、デフォルトのキーワード補完以外は使用していません。

ただ、オムニ補完はもっと使った方が良いなとは思っており、私は golang を主に実装するのですが、これから述べることにも書きますが、 GoDoc を開きながら実装することもしばしばあるので、そこは自身の課題として少し思っています。

が、キーワード補完便利過ぎる…(ふだん、他の補完を使用している人には機能として薄いと思われていると思いますが…)

Vim with golang

f:id:laplus-knsn:20161211223939p:plain

※これはカスタマイズしてる Vim

そもそも、ここまでシンプルに Vim を使うことになった理由は golang のシンプルさが関係している気がします。キーワード補完も、バッファに対象となるキーワードが存在することによって補完できるため、 GoDoc を用いながら実装をしています。

また、ほとんど golang の構文や関数を覚えているので、ぶっちゃけると GoDoc やシンタックスハイライトは目に見える情報としてなくても実装できる が正直なところとしてあります。

目に見える情報でコーディングするのも大事ですが(不具合を出さない点で)、環境を依らずに実装できるのも楽なのでオススメ(?)です。

おわりに

Vim をカスタマイズしなくとも golang は実装できるので、下記の画像にある状態でも実装を進めていたりします。

f:id:laplus-knsn:20161211223443p:plain

実装したあと、インデントに関しては gofmt -s -w get.go のようにしてフォーマッティングすれば良いため、あとは普通に実装が通るか否か、実装が間違えていないかの問題でしかありません。

普段、高級エディタに慣れている人も、たまにはプレインなエディタに戻ってみるのもアリだと思って Vim を触ってみましょう。

リソース

www.kaoriya.net