- タブの便利な所
- バッファを保存しなくても切りかえられるところ.
Vimのtabpageは他のアプリケーションで言うところの「タブ」と次の点で異なります。Vimでは(大抵は)ファイルを編集するための領域としてbufferがあり、bufferを表示する領域としてwindowがあり、1つ以上のwindowを表示する領域としてtabpageがあります。「タブ」として使うのであれば:set hiddenした上でbufferを切り替えても同じことです('tabline'の有無はありますが、それはどうとでもできる程度の話)。
「タブ」風に使うのは、それはそれで一つのスタイルなので構わないのですが、1つのtabpage内で複数のwindowを扱えるという点を活かさないと勿体無いと思います。
Twitterでのひょんな会話の流れからGitM#1なるイベントが企画されたので、それに参加しgitについて自らの分かる範囲で話すなどしました。おおまかな内容についてはGitM#1での発表資料を参照してください。
参加者は最終的に7名で、ほとんどがTwitterおよびVimMなどで縁のある方でした。それは発足理由からも納得できるのですが、1名のみそれとは全く縁のなかった方が参加されており、一体どこから情報を嗅ぎ付けてきたのだろうかと不思議でした。アクティブな方だと思っていたのですが、話を伺ってみると先日に行なわれていたgitのメンテナの方による講演に参加されていたとか。そりゃアクティブなはずだ(むしろその話をされたときは「どうしよう話の内容それと結構重複するところが多いよどうしよう」と微妙に冷や汗のようなものが出ました)。
VimM#3に参加しVimについて語るなどしました。今回のテーマは「脱初心者」だったのですが、便利あるいは押さえておくべき機能やtipsや使い方については他の方が話してくださるだろうということを予想して、「どのくらいのレベルになるとVimから脱却できなくなるのか」について話しました。
以下、感想など:
:help tips:help recording)は早いと思いましたが、実際にデモを見ることで「マクロすげー」「マクロ覚えておこう」と思わせる力がありました。100@aなどとした後の結果が大変なことになるのですが、そのような失敗例もちゃんとデモされていて「さすが名無しのvim使いは凄い」と感心しました。:help viminfo<Leader>、何にしてる?」 - \ (デフォルト派)、, (より押し易いキーを求めた派)、<Space> (前衛ujihisa派)、そもそも<Leader>が何なのか分からないよ派<Esc>、どのキーに割り当ててる?」 - <Esc> (考えたことなかった派/そのままで良いよ派/中指で華麗にujihisa派)、<C-[> (こちらの方が押し易いよね派)、<C-Space> (さらに押し易さを求めた派)、<C-l>/<C-j>/<C-c>/<Space>の右隣のキー (独自勢力)、<C-f> (それはない)盛況のうちに終わったようで良かったです。なお、次回のVimM#4はVim script特集(の予定)です。ただし具体的な内容は何も決まってないようなものなのでwikiに「こういうことが知りたい」と意見を書いておくと実現されたりされなかったりすると思います。
VimM#3での私の発表資料「operator, the true power of Vim」をイベント開催に先立って公開します。イベント参加者の方は先に見ておくと面白みに欠けるので見ないことをお勧めします。
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.