2013-05-23 9 views
7

私はqで記録することを知っていますが、最後の記録をすばやく呼び出すように設定できるかどうかは、.が最後の短い編集コマンド(.の説明については、hereを参照してください)。ドットのより強力なバージョン

私は約@@を知っていますが、@zの後に動作するように見えます。zは、使用するレジスタです。例: 録音を行うにはqzと入力し、qを実行してから録音を実行するには、@zを入力してから、@@を繰り返す必要があります。

私のハックの解決策は、qqで録音してqで終了させるバインドnnoremap , @qです。 1つのキーストロークで特定のレジスタに記録するもの、具体的には最後に記録されたマクロを繰り返すもの、または)がありますか?確かにそれは既にかなり最適であるので、巨大な改善ではありません。

私にとっては、使いやすい単一のレジスタは、取得するためにもう少し作業が必要な多数のレジスタよりも一般的に便利です。これはちょうど私が物事を覚えていることに悪いと私は効果的に複数を使用して自分自身を見ていないことができます。

+0

@@私のvimのマクロで動作します。だから...苦しいかもしれませんが、どのような精神やプラットフォームがありますか? –

+2

@ RamRajamony私は、最後に呼び出されたマクロとは対照的に、最後に記録されたマクロを実行することが問題だと思います。 –

+0

ほとんどの場合、マクロ用のレジスタを1つだけ使用すれば、実際にはあなたのソリューションはかなり良いと思います。私はQを@j自分にマッピングし、qjは簡単に押すことができます! –

答えて

0

あなたが尋ねたものに似た何かを、いくつかのプラグインを試みることができる:

RepeatLast.vimrecord-repeat.vim

別のオプションは、いくつかの機能を使用してrepeat.vimと関連付けることができます。

+0

repeat.vimは有望だろう。それは明らかにこれを追求する価値はありません。これらの他のオプションは、プラグインに必要な既存のバインドと比べて劣っています。 –

2

すべてのマクロに同じレジスタを使用し、必要に応じてその上に記録したいのであれば、_vimrcファイルでそのレジスタを設定して実行して、@@が "準備完了"になるようにすることができます。あなたの_vimrcファイルで

は、追加:

let @z = '' 
execute 'normal @z' 

さて、できるだけ早くあなたがレジスタzでマクロを記録するとして、あなたはすぐに@@でそれを実行することができます。

+0

面白いことに、これは将来の奇妙な行動のセットアップのように感じます。最後のマクロを追跡するだけのものがあればうれしいです。 –

関連する問題