:set paste すると snippetsEmu.vim が動かない
2007/09/23
Vim に TextMate 的なコードスニペット挿入機能を追加してくれる snippetsEmu はとても便利なのですが、気付けばいつの間にやら動作しなくなっていました。
先日 Vim の本を買って .vimrc を色々といじり回していたので、何か相性の悪い設定でもしてしまったんだろうと思い、設定値をひとつずつ無効にして確認してみました。すると、どうやら :set paste が邪魔をしているようで、コメントアウトするとスニペットを挿入できます。
:set paste は Vim に文字列をペーストするさいにインデントを無効にしてペーストするというオプションです。:set paste せずに(つまり :set nopaste して)インデント済みのソースコードをペーストすると、ペーストされた文字列を Vim がさらにインデントしてしまうので、インデントが二重に行われてしまいます。
:set paste した状態ではスニペットを挿入できなかったので、.vimrc から :set paste を削除しました。常に :set paste しておく必要はないので、今後はペーストするときに手動で :set paste を実行して、ペースト後は :set nopaste を実行することにします。
Mac の gVim でつまずいたこと
2007/06/28
### Ctrl-[ でコマンドモードに抜けられない
いつも ESC の代わりに Ctrl-[ を使っていましたが、Mac の gVim では何故か Ctrl-[ が効きません。.vimrc でキーマップ割り当てしてもダメ。結局、Ctrl-C を使うように体を慣らしていくつもりです。というか、今まで Ctrl-C でも抜けられることを知りませんでした。
### \ を入力できない
プログラムで特殊文字をエスケープする場合などに使うバックスラッシュ(\)は ASCII コードでは 0x5C です。Windows や Linux では、日本語キーボードから円マーク(¥)で 0x5C が入力されますが、どうやら Mac では別のコードが入力されるらしい。Mac でバックスラッシュを入力するには option を押しながら円マークを押さなければならないらしい。これでプログラムでもエスケープできました。
OSX に Vim をインストール
2007/06/18
最近は Vim ばかり使っていたので、Emacs 的キーバインドに体がついていかなくなってしまいました。そこで OSX にも Vim をインストールします。
OSX には初めから Vim 6.2 がインストールされていますが、コマンドラインからしか使えないし、6 だからオムニ補完使えないし、やはり Vim7 にしておきたい。
今回は MacPorts でインストールすることにします。というのも、色々と便利なパッチを当ててくれる、ありがたい Portfile があるからです。多謝。
以下、手順です。
1. local ports repository を作る
今回使う Portfile は公式のものではないので、別途ローカルに ports リポジトリを作ってそこに配置します(参考:HowTo/LocalPortfile)。場所はどこでもいいらしいので、~/ports 以下に作りました。
2. Portfile を配置する
Vim の Portfile(vim7.1.000.1.tbz2)を先ほど作ったリポジトリに配置します。また、Vim で C/Migemo を有効にするため、C/Migemo の Portfile(cmigemo.1.3c_3.tbz2)もダウンロードします。
[nice_code]$ cd ~/ports
$ tar jxvf ~/Desktop/vim7.1.000.1.tbz2
$ tar jxvf ~/Desktop/cmigemo.1.3c_3.tbz2
$ portindex
[/nice_code]
3. Vim をインストールする
port install します。
[nice_code]$ sudo port install cmigemo +utf8
$ sudo port install vim +huge +kaoriya +cscope +ruby +python +aqua +macvim
[/nice_code]
いろんな variants がついているので、依存するパッケージがいくつかインストールされます。ncurses とか ruby とか。どうせあとで Rails 環境も作るつもりだったので好都合。しばらく待ってインストール完了。
4. 起動してみる
まずはコマンドラインから起動してみる。
[nice_code]/opt/local/bin/vim[/nice_code]
起動しました。
次に gvim を起動してみる。/Applications/MacPorts/Vim/Vim.app にインストールされているので、これを起動すると、エラーメッセージが出てメニューが文字化けしました。どうもよくある話らしいので、こちらを参考にして /Applications/MacPorts/Vim/Vim.app/Contents/Resources/vim/runtime/menu.vim をいじりました。