Vim: tabpageの真価

2008-11-30T22:55:32 / vim / comment
タブの便利な所
バッファを保存しなくても切りかえられるところ.

Vimのtabpageは他のアプリケーションで言うところの「タブ」と次の点で異なります。Vimでは(大抵は)ファイルを編集するための領域としてbufferがあり、bufferを表示する領域としてwindowがあり、1つ以上のwindowを表示する領域としてtabpageがあります。「タブ」として使うのであれば:set hiddenした上でbufferを切り替えても同じことです('tabline'の有無はありますが、それはどうとでもできる程度の話)。

「タブ」風に使うのは、それはそれで一つのスタイルなので構わないのですが、1つのtabpage内で複数のwindowを扱えるという点を活かさないと勿体無いと思います。

GitM#1に参加するなどした

2008-11-24T11:55:14 / git, event / comment

Twitterでのひょんな会話の流れからGitM#1なるイベントが企画されたので、それに参加しgitについて自らの分かる範囲で話すなどしました。おおまかな内容についてはGitM#1での発表資料を参照してください。

参加者は最終的に7名で、ほとんどがTwitterおよびVimMなどで縁のある方でした。それは発足理由からも納得できるのですが、1名のみそれとは全く縁のなかった方が参加されており、一体どこから情報を嗅ぎ付けてきたのだろうかと不思議でした。アクティブな方だと思っていたのですが、話を伺ってみると先日に行なわれていたgitのメンテナの方による講演に参加されていたとか。そりゃアクティブなはずだ(むしろその話をされたときは「どうしよう話の内容それと結構重複するところが多いよどうしよう」と微妙に冷や汗のようなものが出ました)。

VimM#3に参加するなどした

2008-11-23T08:59:09 / vim, event / comment

VimM#3に参加しVimについて語るなどしました。今回のテーマは「脱初心者」だったのですが、便利あるいは押さえておくべき機能やtipsや使い方については他の方が話してくださるだろうということを予想して、「どのくらいのレベルになるとVimから脱却できなくなるのか」について話しました。

以下、感想など:

id:ukstudio「Vimで効率的なテキスト編集」
「心構え」が熱い。実際、意識せずにだらだらと使い続けているだけでは編集効率はすぐに頭打ちになりますからね。ソース: 自分自身の経験
tips・機能の紹介は厳選されていて好印象でした。挙げればキリがありませんからね。ソース: :help tips
うーん、刀、磨かないとなぁ。ソース: 戦闘力の推移
id:taku-o「Vimエディタマクロの話」
初心者にマクロ(:help recording)は早いと思いましたが、実際にデモを見ることで「マクロすげー」「マクロ覚えておこう」と思わせる力がありました。
ただマクロはカーソル移動を1箇所ミスしただけで100@aなどとした後の結果が大変なことになるのですが、そのような失敗例もちゃんとデモされていて「さすが名無しのvim使いは凄い」と感心しました。
なお大抵の場合、Vim終了時にレジスタなどの内容は保存されており、次回起動時に復元されるようになっています。ソース: :help viminfo
マクロを作る練習としてはTsume Viなどがお勧め、かも。
id:ha1t「俺の.vimrcを見ろ!PHP使いの為の設定とプラグイン」
id:******** (んふふふふんふらいふ)さんによるトラウマ
どうしよう「んふふふふんふらいふさん」のインパクトが強すぎて記憶が上書きされてしまっている。
第二部
予想以上に質問が飛び出てきて嬉しい限り。質問もさることながら時折出てくるアンケートの内容が面白かったですね:
<Leader>、何にしてる?」 - \ (デフォルト派)、, (より押し易いキーを求めた派)、<Space> (前衛ujihisa派)、そもそも<Leader>が何なのか分からないよ派
「モード切り替えの<Esc>、どのキーに割り当ててる?」 - <Esc> (考えたことなかった派/そのままで良いよ派/中指で華麗にujihisa派)、<C-[> (こちらの方が押し易いよね派)、<C-Space> (さらに押し易さを求めた派)、<C-l>/<C-j>/<C-c>/<Space>の右隣のキー (独自勢力)、<C-f> (それはない)
「Vimで複数のファイルを編集するときのスタイルは?」 - 1ファイル1Vimプロセス派、1ファイル1タブ派、ウィンドウ分割して頑張るよ派、バッファ切り替えで頑張るよ派、その全てを組み合わせた全く新しい派

盛況のうちに終わったようで良かったです。なお、次回のVimM#4はVim script特集(の予定)です。ただし具体的な内容は何も決まってないようなものなのでwikiに「こういうことが知りたい」と意見を書いておくと実現されたりされなかったりすると思います。

VimM#3発表資料: 「operator, the true power of Vim」

2008-11-22T02:09:57 / vim, event / comment

VimM#3での私の発表資料「operator, the true power of Vim」をイベント開催に先立って公開します。イベント参加者の方は先に見ておくと面白みに欠けるので見ないことをお勧めします。

Vim: arpeggio 0.0.0

2008-11-06T01:35:42 / vim, release / comment

I've released a new Vim plugin "arpeggio". It provides the way to define another type of key mappings called as "arpeggio key mapping" which consists of 2 or more keys and it will be mapped to a key sequence whenever all keys are simultaneously pressed. The concept of this plugin is derived from Emacs' key-chord.el.

Arpeggionoremap! jk  <Esc>
" OR
call arpeggio#map('ic', '', 0, 'jk', '<Esc>')

For example, with the above definition, you can input <Esc> in Insert mode and Command-line mode by pressing j and k simultaneously, while solely pressed j and k are worked the same as the default ones.