2013年06月27日

プログラミングエディタをMacVimに換えた

テキストエディタとしてTextWraglerやFraiseを使ってきたが、新たにMacVimをインストールして、こちらをプログラミング用のメインエディタとして使い始めた。TextWraglerやFraiseはGUIベースのテキストエディタでこれらに特に不満には感じていた訳ではないが、プログラミング関係の情報をググっていると、MacやLinux上でCLI環境を整備して、VimやEmacsをプログラミングエディタとして使っているページをたくさん見つけた。バリバリ開発をやっている本物のプログラマは、あえてGUIエディタを使わずにCLIエディタを使っている人が多いようなので、それに習って私もテキストエディタをVimに換えてしまおうと思い立ったことが、MacVimを使い始めた理由だ。

GUIエディタを使っているとキーボードとマウスの間で利き腕を頻繁に動かさないとならないが、プログラムコードを書くことに集中していると、これがものすごく煩わしく感じことがある。CLIエディタだとキーボードだけですべての編集操作ができるので、コードを書くことにより集中できる。毎日相当量のコードを書くプログラマがVimやEmacsを好んで使うのは、この理由からだろう。CLIベースのテキストエディタをメインに使うプログラマはVim派とEmacs派の二大派閥に分かれているようだが、私はずっとVim(vi)派だ。ずいぶん昔に一度だけEmacsにトライしたことあるが、Emacs特有のキーコマンドがどうしても馴染めずすぐに使うのを止めてしまった。それ以来Emacsを使おうとしたことはまったくない。昔話になってしまうが、私が初めてUNIXを使ったはSun SPARCワークステーションで、これにはSunOSが搭載されていた。登場して数年のLinuxも同時期に使い始めたが、どちらの環境でもエディタはviを使っていた。UbuntuのようなGnomeベースのLinuxディストリビューションが登場して以来geditを利用することも増えてきたが、それでもあえてviを利用することが多い。組み込みLinuxでは、ターゲット側の実行環境にはGUIが搭載されていないケースが多いので、嫌でもviを使わざるをえないことが良くある。開発ホスト側とターゲット側でエディタを使い分けるのが面倒で、結局どちらの環境でもviを選択することになったりする。

Vimはviから派生した高機能なテキストエディタで、カスタマイズやブログラマ支援機能がすごく充実している。そして、何より魅力的なのは豊富なプラグインが揃っていること。これらの機能やブラグインを上手く利用すると、プログラミングに集中できるエディタ環境を構築できるらしい。私はいままでこのようなVimの高度な機能をまったく使っていなくて、恥ずかしながら、最近になってやっとこういう情報を知った。

Mac OS Xにはデフォルト状態でVimが入っているので、これをそのまま利用しても良いが、MacVimの日本語化対応版であるMacVim KaoriYaというものをインストールして、こちらを使っていくことにした。Mac OS X向けVim実装もいくつか種類が存在するようだが、MacVimは一つのアプリでGUIとCLIの両方にインターフェースを備えていて、マルチウィンドウにも対応している。メンテナンスもしっかり行われていて、Macで一番良く使われているVimがこれだそうだ。

Icon-MacVim-64x64.pngMacVim KaoriYa

■MacVimのインストール


MacVimの実装形態は通常のGUIアプリになっているので、他のアプリと同様に、dmgファイルに格納されているアプリアイコンを「アプリケーション」フォルダへコピーするだけで終了する。

Finder等からMacVimを起動すると、下のような、GUIウィンドウの中にVimのスクリーンが表示された画面が開く。
MacVim_7.3.1223-KoriYa_20130621-GUI_StartupWindow-ScrnShot02-692x514
通常のアプリと同様に編集メニューも存在していて、GUIベースでテキスト編集をすることもできるが、CLIベースのVimのようにキーコマンドだけで操作することも可能だ。

また、MacVimに含まれる実行ファイルをターミナルから起動してやると、MacVimはCLIプログラムとして動作する。.bash_profile.bashrcに下のような設定を追加した上で、ターミナルから「vim」コマンドを実行すれば良い。
if [ -f /Applications/MacVim.app/Contents/MacOS/Vim ]; then
alias vi='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
alias vim='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
fi

そうすると、ターミナルは下のようなVimの画面に変わる。
MacVim_7.3.1223-KoriYa_20130621-CLI_StartupWindow-ScrnShot04-699x480
上記のとおり、MacVimは2つの方法で起動することが可能だが、私はもっぱら後者のターミナル経由のCLI版を使っていくつもりでいる。次の記事のネタにしようと思っているが、MacやLinuxにはターミナル環境を充実させるための便利なツールがいくつも存在していて、これらを利用すると、すごく使い易いCLI環境を構築することができるからだ。XcodeやEclipseのようなIDE環境を使わざるをえない場合を除いて、プログラミング環境をCLIに統合化しようと目論んでいる。

■MacVimのカスタマイズ設定


デフォルト状態のVimはプログラマにとってやや使い難く、画面のカラー表示も味気ないので、最低限のカスタマイズとカラースキーマの設定を行った。Vimのカスタマイズ設定は、オプション値を記述した.vimrc.gvimrcという2つのファイルをホームディレクトリに置くことで行える(Vimのオプションの詳細情報はこちらのページに掲載されている)。前者の内容はCLI版VimとGUI版Vimの両方に対して適用され、後者はGUI版Vimに対してのみ適用される。私が作成した.vimrc.gvimrcを晒しておく。
.vimrc

set nocompatible
set directory=$HOME/vimtmp
set backupdir=$HOME/vimbackup
set clipboard=unnamed
set number
set hidden
set incsearch
set shiftwidth=4
set tabstop=4
set expandtab
set smarttab
set autoindent
set smartindent
set list
set listchars=eol:$,tab:>\ ,extends:<
set whichwrap=b,s,h,l,<,>,[,]
set showmatch
set smartcase
set nowrapscan

" Color Scheme
syntax enable
set background=dark
let g:solarized_termcolors=256
colorscheme solarized

.gvimrc

set nobackup
set imdisable
set guioptions-=T
set antialias
set showtabline=2
set visualbell t_vb=
set columns=100
set lines=48

" Color Scheme
syntax enable
set background=light
colorscheme solarized

取りあえず、C言語でのプログラミング用に最低限の設定だけを行ったが、今後MacVimで色々なプログラミング言語のコードを書くうちに、上のカスタマイズ設定は少しずつ変えていくことになるだろう。

■Solarizedカラーテーマの導入


上に示したMacVimのカスタマイズ設定にはカラースキームも含まれている。本家Vimのサイトなどで多く種類のVim用カラースキーマが配布されているので、それらを入手して設定してみながら、自分の好みに合ったものを選択することを勧める。~/.vim/colorsというディレクトリにカラースキーマファイルを置き、.vimrc.gvimrcの中に「colorscheme COLOR_SCHEME_NAME」という記述を追加すれば、Vimのカラースキームを設定することができる。私は下のサイトで配布されているSolarizedという名前のカラースキーマを利用させてもらった。

 Solarized - Ethan Schoonover

ググってみると判るが、このSolarizedはとても人気が高いカラーテーマで使っている人がたくさんいるようだ。上のサイトでVim以外のエディタ、IDEツール、ターミナルエミュレータ用のカラーテーマも配布されているので、これらを利用すると、エディタやツールなどのカラーを統一することができる。下にカラースキームをSolarizedに設定した状態のMacVimのスクリーンショットを示す。上側がCLI版、下側がGUI版の画面。
MacVim-ColorSheme_Solarized-CLI_EditingWindow-ScrnShot05-699x480
MacVim-ColorSheme_Solarized-GUI_EditingWindow-ScrnShot06-832x790

タグ:vim Mac OS X
posted by とみやん at 20:23| Comment(0) | TrackBack(0) | 開発・プログラミング > Mac
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/70108109

この記事へのトラックバック