現在のカーソル位置から開始して、最後の実際の選択ではなく、最後の視覚的形状を再選択する方法はありますか?


8

gvが最後のビジュアル選択を再選択することを知っています。これは素晴らしいです、そして私はそれを頻繁に使用します。

しかし、時々私は関連しているが異なる何かをしたい:現在のカーソル位置から、以前の視覚的選択と同じ形であるが、カーソルが現在ある場所に配置されたブロックを選択する。

特に、テキストのチャンクを貼り付けて、何らかの置換や変換をしたいときに、私はこの欲求をよく持っています。したがって、このコマンドを使用すると、貼り付けたものを再選択できます。(そのため、「最後の貼り付けを視覚的に選択する」コマンドも役立ちますが、それでも、「最後の貼り付けを再選択するかどうかに関係なく、最後の視覚的形状を再選択する」という文字列が必要な場合もあります。編集:をご覧ください。現在のカーソル位置から開始して、最後の実際の選択ではなく、最後に貼り付けたテキストを再選択する方法はありますか?この質問の場合

(注:これを行うための組み込みの方法がない場合は、〜/ .vimを編集してvimscriptの例を追加し(そしておそらくそれを変更し)、これを簡単なキーの組み合わせにバインドしますが、最初から作成しますこれを行うことは私の現在の能力を超えています。)


1
あなたは、マクロ..行うことができます
VanLaser

1
これは良いアイデアです(私はあなたがqpv [select ...] q [move ...] @ p "のようなものを意味すると思います)が、通常の使用過程では私が望むので、本当に私が望むものを得られませんビジュアルモードで操作するには、貼り付け操作の後で選択が再び必要であることだけを "認識"します。その状況で役立ついくつかのキーストロークを探していますが、予想するほどゆっくりと操作している場合は、これが役立つことに同意します地域を再選択する必要がある
フィリップ

実際には、これが不可能な別のケースがあります。vimの外部から(たとえば、*レジスタを介して)貼り付けます。この場合、質問は括弧内のようになります。最後の貼り付けを視覚的に選択するための動きはありますか?これは、StackexchangeからvimからREPLにサンプルコードを送信する場合などに便利です。
フィリップ

実際、あなたが何を望んでいるかはわかりません- 簡単に再選択できるように、さらに変更する前に、最後の貼り付けの「座標」を覚えておきますか?
VanLaser

回答:


6

これは、最後に貼り付けられた(または変更された)テキストを再選択できる単純な再マップです。

noremap gV `[v`]

元の投稿のコメントから、おそらく最後の変更/貼り付けの座標を他の/さらなる変更のに保存し、その視覚的な選択を復元たいですか?


1
OKはい、これをテストしました。これは素晴らしい。本当にこれは、2つの関連する質問を1つに尋ねる私のせいです。私がやろうとしていることは、この質問をあなたがここで正しく答えた質問に変更し、modがより良いアイデアを持っているのでない限り、関連する質問を別の質問として再度尋ねることです。
フィリップ

実際、その質問はここで尋ねられ、答えられます:vi.stackexchange.com/questions/31/…申し訳ありません-混乱を作ってしまった私のせいです。
Philip

4

古い形状を再選択するには、次のようにします。

1v

1
同じ形状を再選択するのではなく、同じ数の文字を選択します。
muru

これをテストしましたが、警告の@muruノートでも動作するようです。再選択が貼り付けられたテキストを選択するためではなく、選択を再作成するためのほとんどの場合、カーソルを正しく配置すると、同じ数の文字を選択すると同じ形状が再作成されます。しかし、私は例外を想像することができます。そのため、形状を複製する別のアプローチに興味があります。行の長さが同じでない場合、これはおそらく不可能です。
フィリップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.