1

vim でさらに挿入していないときに何かを削除すると、これは自動的にクリップボードに入れられます。このクリップボードはスタックのように機能しますか?

クリップボードがスタックの場合、このスタック内の以前のエントリにアクセスするにはどうすればよいですか? クリップボードがスタックでない場合、どのように機能しますか? 複数のデータエントリを同時に保存できますか? そして、それらにアクセスする方法は?

私が欲しいのは、このクリップボード スタックの N 番目のエントリを取得するマクロ (記録) を作成するか、メモリに同時に保存できる場合は複数のデータ エントリを取得することです。

4

3 に答える 3

2

スタックとは言えません。スタック(削除用)のように機能します。

「番号付きレジスタ」を見る必要があると思います。

Vim には 0 ~ 9 の番号付きレジスタがあります。スタックと考えると、スタックのサイズは削除用の 9 (1-9) です。

ヤンクされたものはレジスタ 0 と に格納され""、スタック構造はありませんでした。

「スタックのように」動作すると言いましたが、スタック (削除用) ではありません。スタック データ構造では、要素をランダムにフェッチできなかったからです。ポップまたはプッシュするだけです。"1 "3 "5しかし、vim のレジスタを使用すると、たとえば任意の (0-9) 要素を取得し、変更せずに「スタック」を保持できます。

:h registers詳しくはお読みください。

于 2013-07-03T13:41:33.657 に答える
1

"+外部ツール ( Windows のClipX 、GNOME のGlipperなど) を使用してオペレーティング システム レベルで履歴を提供しない限り、システム クリップボード ( register ) はスタックではありません。

デフォルトのVimレジスタを意味していると思います。実際、(少なくとも行全体の) 削除と変更は番号付きレジスタにコピーされます。現在の削除は に"1移動し、その内容は に移動します"2

詳細:help quote_numberについては、を参照してください。

他のレジスタと同様に、p通常モード コマンド (例: "1p)、:put {reg}<C-r>{reg}挿入モードから、getreg()または@{reg}プログラムによってアクセスできます。

于 2013-07-03T13:41:53.250 に答える
1

すこし。

Vim は、ヤンクと削除にレジスタを使用します。

  • 名前のないレジスタ は""、「ブラック ホール レジスタ」を明示的に使用する場合を除き、常に使用されます。

  • 番号付きレジスタ は"0-9、特定のレジスタを使用せずにヤンクまたは削除するときに使用されます。

正確なメカニズムは少しトリッキーなので、ご覧になることをお勧めします:h registers

于 2013-07-03T13:47:17.547 に答える