バッファ移動のショートカットキー設定

今まで、下記のようなスクリプトを実行して vim を起動していたが・・・

#!/bin/sh
/Applications/vim-6.2.532-osxj/Vim.app/Contents/MacOS/Vim -g $1 &

この場合、vim のプロセスが幾つも起動されるので、非力な Mac だと、ちょっと厳しい。

そこで・・・「.zshrc」の Alias 設定を下記のように書き換えた。

alias gvim='open -a /Applications/vim-6.2.532-osxj/Vim.app'

こうすると、gvim コマンドを実行する度に、ファイルはバッファに読まれる。

更に、「.vimrc」に下記を追加する。

map <LEFT> <ESC>:bp!<CR>
map <RIGHT> <ESC>:bn!<CR>
map <UP> <ESC>:ls<CR>
map <DOWN> <ESC>:b!<SPACE>

ボタンで :b! としたかったが、 が利用できなかったので調査中。
こうしておくと、下記が可能となる。
ボタンで前のバッファへ移動
ボタンで次のバッファへ移動
ボタンでバッファの一覧を表示
ボタンの後に を押すとバッファの一覧が表示され、 ボタンと ボタンでバッファが選択可能
:bn :bn :b には ! を付けておくと、編集内容を保存しなくとも移動できる。

注意点として、「:q」等で vim を終了すると全てのバッファを閉じて終了してしまうので、現在のバッファを閉じるだけであれば「:bd」を使う事。

その後

id:cooldaemon:20060202 このエントリで書いた問題点を忘れていた・・・orz

対処として、下記の Script を書いた。

#!/bin/sh

VI_COMMAND=/Applications/vim-6.2.532-osxj/Vim.app

if [ $# = 0 ]
    open -a $VI_COMMAND
then
    while [ $# != 0 ]
    do
        if [ ! -e $1 ]
        then
            touch $1
        fi
        open -a $VI_COMMAND $1
        shift
    done
fi

ファイルが存在しない場合は、touch コマンドでファイルを新規作成している為、編集終了時にファイルサイズが 0 であってもファイルは残ってしまう。何か上手い方法ないかなー?

ついでに、複数ファイルを一度に指定できるようにしてみた。