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

プログラムするエディタにVimを使う

f:id:karaage:20150915232308p:plain:w640

エディタにVimを使う

 最近仕事でもプライベートでも、プログラムを書くことが増えてきたのでエディタも少し拘ってみようかなと思い立ちました。大学生のころは、研究で結構プログラムを書くことが多かったので、Emacsというエディタを頑張って覚えて使っていました。当時はEmacsを使っているやつはヤバイ(いい意味で)というような風潮があったので、自分もEmacsを使っていた気がします。
 ところが、最近はどうもエディタはVimを使うのがイケてる(死後?)風潮があるようです。初心者は文字入力すらできない変態エディタが何故!?という感じですが、流されやすい自分は早速Vimを使うことにしました。それ以外にも、最近Raspberry PiやLinux(Ubuntu)PCを何台も使って再インストール繰り返しているので、Linux OSにデフォルトで入っているエディタであるvimを使いこなすと色々便利というだけだったりします。Macでもデフォルトで入っていますしね。ちなみにWindowsでは、デフォルトでは入っていませんがWindows用のVimはあります。
 ちなみにあくまでVimを「使う」です。「使いましょう」なんて恐ろしいことは、とても他の人には言えません。変態になれっていうようなもんですものね。

Linux(Ubuntu)・Raspberry PiでVimをインストール

 vimをインストールしましょう。

vimインストール

 UbuntuやRaspberry Piにデフォルトでインストールされているvimはvim-tinyと呼ばれる機能縮小版のvimらしいです。以下実行するとフルバージョンのvimが入って幸せになれるようです(多分)。

$ sudo apt-get update
$ sudo apt-get install vim

 vimをemacsに変えれば同じ手間でemacsインストールできるじゃんというツッコミはしないでくださいね。

gvimインストール(2015/09/25)

 CUIで使うなら問題ないですが、XWindow環境で使うと、ファイル間のコピーペーストがしにくくて不便です。gvimというGUI対応のvimを入れましょう。

$ sudo apt-get update
$ sudo apt-get install vim-gtk


 2016/03/08追記:今まで`vim-gnome`を入れていましたが、起動時warningが出るのが気になるので、`vim-gtk`を入れ直しました。`vim-gnome`入れてしまって`vim-gtk`入れ直したい方は以下コマンド実行下さい。

$ sudo apt-get remove vim-gnome
$ sudo apt-get install vim-gtk

 XWindow環境下で、以下のコマンドで起動します。

$ gvim

Macでvim使う場合

 ターミナル起動して $ vi もしくは $ vim で起動します。GUIのVimとしてはMacVimというものがあります。以下らへんからインストールすればよいかと思います。


 ターミナルから起動させたいときは、以下(2016/03/05追記)
初心者がエディタVimを導入してみた — 【Vim】MacVimをターミナルから起動させる方法

Winでvim使う場合

 よくわからないですが、以下とかがよさそうです。Winならvimじゃなくてもよいような気もします。秀丸エディタとかいいんじゃないですかね(適当)。

Vimを使えるように学習

 Vimは変態エディタなので、色々覚えないとめちゃめちゃ不便です。ただ、覚えるほど指数関数的に便利になる(もしくは便利になったと錯覚する)という噂の不思議なエディタです。

参考書

最近、以下の本を買って読んでます。基本的な使い方をしっかり押さえたい人はよさそうです。

実践Vim 思考のスピードで編集しよう! (アスキー書籍)

実践Vim 思考のスピードで編集しよう! (アスキー書籍)

チートシート

 なれるまでは以下のようなチートシートを手元に置くのがよいかもしれません。

http://www.namaraii.com/files/vim-cheatsheet.pdf


 残りはだんだんマニアックというか、自分のメモになっていくので見たい人だけみてください。

よく使うコマンド

 以下はよく使うコマンド。適当に削除したり増やしたりする予定。

コマンド 効果
. 前のコマンドを繰り返し。万能
ctrl+c ノーマルモードとインサートモード切り替え ESCキーより押しやすい
cw 単語を削除すると同時に入力モード。単語修正時に
o 次の行に移動すると同時に入力モード
0/$ 行の先頭に移動/行の最後尾に移動
yy 1行コピー
dd 1行削除
p ペースト
gg ファイルの先頭に移動
G ファイルの最後に移動
u undo
ctrl + r redo
ctrl + n 補完

便利だけど忘れがちなコマンド

 メモ代わりに。適当に追加していきます。

コマンド 効果
gg, V, G, = ファイル全体のインデント修正

.vimrc(2015/09/25 修正)

 vimの設定ファイル .vimrc をいじることでvimを好きなようにカスタマイズできます。まずは事前にバックアップファイルの置き場所を作っておきましょう。好きなところでよいのですが、このあとの.vimrcをそのまま使うなら以下

$ cd
$ mkdir ~/tmp

 .vimrcは以下で編集

$ cd
$ vi ~/.vimrc

 .vimrcに以下の内容書き込んで vi を起動すると変更内容が反映されています。設定の内容は以下の通り。詳細は参考リンクなどを参照ください。今後適当に拡充していくかもしれないですし、あまりいじらないかもしれないです。

  • 行番号をつける
  • 色つき表示
  • pythonでのインデント設定
  • javascriptのインデント設定
  • バックアップファイルの場所設定


.vimrc

gitstから vimrcをダウンロード(2015/10/16追記)

 git(gist)でダウンロードできるようにもしました。.vimrc 編集する代わりに以下コマンド打つだけで .vimrc 書き換え可能です。

$ cd
$ git clone https://gist.github.com/e4243dc05c506bbd92c3.git tmp
$ mv tmp/vimrc  .vimrc

GitHubから vimrcをダウンロード(2016/03/05追記)

 プラグイン等増えてきたので、GitHubにおきました

 詳細は下記記事参照下さい。

まとめ

 とりあえずvimを使い始めてみましたが、使いこなせるようになるのだろうか…そもそも学習コストに見合う効果が出ている人がどれだけいるのか気になっています。カスタマイズとか慣れるまでの時間考えると統合環境とか使った方がお得なんじゃないかなとか思っています。

参考リンク