Vimを勉強してみる。 これまで、サーバー上のファイルを編集するためなどに素のVimを使っていたりはしたが、アプリケーションのコードを書くためのツールとしてみることにする。

ちなみにアプリケーションを書くためのエディタの遍歴としては

  • 新卒で入った会社でJavaをeclipseで書く
  • PHPを各会社を作る。PHPをeclipse+PDTで書く
  • Perlを書くためにemacsを使い始める
  • 面倒見るのが面倒になってSublimeTextに乗り換え

と言った感じ。

なぜVimを始めるのか

これまで、Mac上でコードを書いていたのだけど、 リモートのコードを触ることが増えていきそうだから。

なぜEmacsじゃないのか

気分。

目標とか

まずは、Macの上でVimを使いこなせるようになる。 ただ、リモートでの作業もできるようにすることが趣旨の一つではあるので、その辺のポータビリティも考えないといけない。

  • .vimを持っていく+α

くらいで環境を再現できるくらいに止めないといけない。

1日目にやったこと

Vimのインストール

素で入ってるVimよりもバージョンが進んでるようだったのでHomebrewのVimを入れる。

➜  ~  vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 27 2015 16:22:14)
➜  ~  brew info vim
vim: stable 7.4.1301, HEAD
Vi "workalike" with many additional features
http://www.vim.org/
Conflicts with: ex-vi
/usr/local/Cellar/vim/7.4.1301 (1,623 files, 24.8M) *
  Built from source with: --override-system-vi --with-lua --with-luajit
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/vim.rb
==> Dependencies
Optional: lua ✘, luajit ✘
==> Options
--disable-nls
	Build vim without National Language Support (translated messages, keymaps)
--override-system-vi
	Override system vi
--with-client-server
	Enable client/server mode
--with-lua
	Build vim with lua support
--with-luajit
	Build with luajit support
--with-mzscheme
	Build vim with mzscheme support
--with-python3
	Build vim with python3 instead of python[2] support
--with-tcl
	Build vim with tcl support
--without-perl
	Build vim without perl support
--without-python
	Build vim without python support
--without-ruby
	Build vim without ruby support
--HEAD
	Install HEAD version
  • システムのviを置き換えること
  • 仕入れた情報によれば、NeoCompleteを使うのであれluaが必要

ということだったので

  • --override-system-vi
  • --with-lua
  • --with-luajit

を使ってインストールするようにした

vimtutor をやった

いろいろ学びがありました。

  • 0 で行頭移動
  • $ で行末移動

知らなかった。

本をポチった

社内Slackに #vim チャネルを作った

社内にVimmerがいます。

TODO

  • かっちょいいテーマにしたい
  • ファイル名のいい感じの検索ができるようにしたい
  • アプリケーションコードのいい感じの補完、シンボルへのジャンプなどができるようにしたい