2008-09-10 8 views
5

私はvimでさらに開発するので、Eclipseの "テンプレート"と同様に、役に立つコードのブロックでコピーしたいと思っています。vimのコードチャンクとマクロの最適な戦略は何ですか?

私は、各コードチャンクのために別のファイルを作成し、ちょうど

:r code-fornext 

でそれらを読んで考えていたが、それはただ一種の原始的なようです。私の周りのグーグルでは、vimマクロが言及され、「マップ」については何かがわかりますが、それは単純ではありません。

私が探しているものは次のとおりです。 Eclipseの "Templates"のようなものなので、コードチャンクの途中にカーソルを置いてポップします。 JEditの「マクロ」は、1行で複雑な削除や名前の変更を行うことができます。その後、10行でもう一度再生することができます。

vimには次の2つの機能がありますか?

答えて

8

Vimでマクロを記録するには、コマンドモードでqキーと、マクロを割り当てる別のキーを押します。クイックスローアウェイマクロの場合、私は通常qqを押して、qキーにマクロを割り当てます。録音モードに入ったら、キーストロークを実行します。終了したら、コマンドモードに戻り、再度qを押して録音を停止してください。次に、手動でマクロを再生するには、@qと入力します。要約すると...

をあなたが[email protected]または[email protected]などを入力することができ10回@@を入力することができたり、それを実行する前に実行したマクロを再生するには、次のコードの塊に関しては

+----------------------------------+-------------------------------------+ 
| start recording a macro   | qX (X = key to assign macro to)  | 
+----------------------------------+-------------------------------------+ 
| stop recording a macro   | q         | 
+----------------------------------+-------------------------------------+ 
| playback macro     | @X (X = key macro was assigned to) | 
+----------------------------------+-------------------------------------+ 
| replay previously played macro | @@         | 
+----------------------------------+-------------------------------------+ 

を、私が発見したとsnipMateというVimプラグインを使用し始めました。これはTextMateのスニペット機能を模倣しています。

http://www.vim.org/scripts/script.php?script_id=2540

そして、(使用中のそれを示す短いスクリーンキャストと一緒に)snipMateを使用して上の短い記事:

http://www.catonmat.net/blog/vim-plugins-snipmate-vim/

あなたはこのことを願っあなたは、プラグインここでは得ることができます役に立った!

+0

は@@唯一のバージョン7のために動作しているようですが、私は、バージョン6で@qでそれを呼び出すことができ、非常に便利な、ありがとう! –

0

vim.wikiaでは、スニペットと略語の展開専用のcategory of tipsがあります。また、複雑なスニペット/テンプレートファイルの定義を容易にするプラグインのリストも表示されます。

HTH、

関連する問題