ラベル vimscript の投稿を表示しています。 すべての投稿を表示
ラベル vimscript の投稿を表示しています。 すべての投稿を表示

2008年6月22日日曜日

Vimキーバインド強制plugin"鬼軍曹.vim"をコミットした

Via: Emacsキーバインド強制elisp"鬼軍曹.el"をcommitした

Emacsのキーバインドに慣れるため、強制的にカーソルキー他の機能を無効化してしまう鬼軍曹.elファイルがリリースされています。

これの作者のid:k1LoWからvim版作ってちょ、と言われていたので、単にmap設定をpluginに突っ込むというかなりお手軽な方法で、鬼軍曹な.vimが誕生しました。

鬼軍曹.vim
ダウンロード用鬼軍曹.vim

使い方は鬼軍曹.vimを、

~/.vim/plugin/drill-instructor.vim


とかに置いてもらえればOKです。

基本的にはEmacs版と同じようにカーソルキー等を無効にするわけですが、Vimはおおまかにコマンドモードとインサートモードの二つのモードが存在するため、その両方ともにカーソルキーを使えなくしてみました。

もし、間違えてカーソルキーを打ってしまってもステータスラインに、

Don't use left-key!!! Press [h]


と、鬼軍曹.elと同じく優しく叱ってくれますのでご安心を。
でも、決してカーソルが動いてくれる事はありません。厳しい!

ちなみにインサートモード時にカーソルキーを押してしまった場合、

Don't use left-key!!! Press [ESC] to [h]


と、一旦コマンドモードに戻ってからカーソルを移動させるのがVimの流儀だ、と教えてくれます(これ、僕はこう思っているんですが、一般的にはインサートモードのままカーソル動かしたりしますかね?)

ビジュアルモードの時も強制しようとか色々あるんですが、
map設定はひとつ覚えればわかりやすくてとっつきやすいので、これ以上Mな環境にしたい方は直接.vimrcなりにmapをガンガン書いちゃう方が早いかもです。

2008年6月17日火曜日

vim7の配列と連想配列メモ

vim7では、配列をList, 連想配列をDictionaryと言う。

配列
let array = ['one', 'two', 'three']
for val in array
echo val
endfor


連想配列
let dic = {'one': 'een', 'two': 'twee', 'three': 'drie'}
for key in keys(dic)
echo key . ': ' . dic[key]
endfor


なんかとってもJavaScriptっぽい。

let dic = {
'one': 'een',
'two': [
{'option': 'a'},
{'option': 'b'},
{'option': 'c'}
],
'three': { 'option': 'd' }
}


入れ子も全然OKだけど、実はこのままでは動かない。

let dic = {
¥ 'one': 'een',
¥ 'two': [
¥ {'option': 'a'},
¥ {'option': 'b'},
¥ {'option': 'c'}
¥ ],
¥ 'three': { 'option': 'd' }}


と、改行エスケープすればおk

久しぶりにブログを書く

最初ログインできなくて焦った。 いや、ログインはできたのだが、ログイン後に自分のブログの管理画面に遷移できず、新しいブログを作成する画面になってしまったからビビッてしまった。 どうやら、Google+(現在はサービス終了)に紐づいたプロフィールを設定しているとこのような状況に陥る...