vimで最後からn番目のコマンドを繰り返します


13

vimは非常に直感的であることに気づきましたが、最後から2番目のコマンド(または最後から3番目、最後から4番目など)を繰り返す方法を見つけるのに苦労しています。.通常モードで入力すると、最後のコマンドが繰り返されます。を押す3.と、最後のコマンドが3回繰り返されます。

私がoHello<Esc>それからタイプしたとしましょうA, World!<Esc>。私は今得る

Hello, World!

画面上。今、私は取得したいと言います

Hello, World!
Hello
Hello
Hello

Helloと入力せずに。vimは1つのコマンドを超えて履歴を保存するので、次のように入力できます3,2.(つまり、最後から2番目のコマンドを3回繰り返します)。


2
あなたはマクロとして何かを記録することができます覚えておいてください(qaoHello<esc>qそして、@a繰り返しにHelloいつでも好きなとき。)もあります@@最後に使用されたマクロを繰り返します。
ジェームズマクラフリン

2
3@aマクロを複数回繰り返すこともできると思います
-redbmk

回答:


8

いいえ、.コマンドにvimは履歴がありません。また、私が知っている通常モードのコマンドの繰り返し履歴もありません。キーストロークの数が最も少ない場合は、をお勧めし4oHello<Esc>3jA, World<Esc>ます。あなたがすでにしたならoHello<Esc>A, World<Esc>、あなたはそれに従うことができましたuyy<Ctrl-r>3p


4

RepeatLast.vimと呼ばれるこのプラグインがありますが、これはコストがかかりますが、vimは常に記録マクロモードです。他のvimパッケージと同様に、使用しているパッケージマネージャーを使用してインストールする~/.vim/plugin~/.config/nvim/plguin、vimを使用している場合やneovimを使用している場合は、クローンを作成してドロップするだけです。2番目から最後のアクションを繰り返すに2\.は通常モードで入力し、最後から2番目のアクションを繰り返すには通常モードで入力する必要があり<n>\.ます。

http://www.vim.org/scripts/script.php?script_id=4381 https://github.com/vim-scripts/RepeatLast.vim


2
@Sassan、答えを編集して、このプラグインをインストールする方法と、OPの問題を解決するためにどのように正確に使用できるかを簡単に説明してもらえますか?
テルドン

2
@terdon誰かが私の答えを読んで、パッケージマネージャーの使用方法がわからない場合は、好奇心をそそり、時間をかけてvimでパッケージマネージャーについて学ぶのが本当に良いです。それを読み、vimプラグインのdocs / README.mdから情報を取得することを知らない人も同じです。
サッサン

それはポイントではありません。単なるリンクである回答は、回答とは見なされません。回答は自己完結型であり、提案されたソリューションを適用するために必要なすべての情報を提供する必要があります。編集してくれてありがとう!
テルドン

1
実際、このプラグインはハッキングが多すぎて、インストール方法がわからない人には使用できません:)
ボリスチャージン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.