6

Windows スタイルの自明なコピー/カット/ペースト コマンドとは異なり、emacs のリングの概念を理解できませんでした。

私は emacs でプログラミングすることはめったにないので、リング機能の価値を理解できませんでした。emacsでリングと呼ばれるものとその使い方を教えてもらえますか?

4

5 に答える 5

12

さて、簡単な言葉で試してみましょう。M-wコピー ( ) またはカット ( )するたびに、選択範囲がいわゆるリング (閉じたリストのようなもの)の上部C-wに挿入されます。

興味深い部分はその後です。で貼り付けるとC-y、最後に貼り付けられた領域 (現在はリングの先頭要素) がバッファに挿入されます。を押し続けるM-yと、テキストはリングの古い要素に次々と置き換えられます。つまり、リングが回転し、古いテキストが毎回フロント要素として指定されます。これにより、古い切り取り/コピーされたテキストにアクセスできます。

有用な部分はここで終わりではありません。他のテキストをカット/コピーすると、リングの上部に挿入され、リングが再び回転して上部前面になります。C-y M-yそして、新たに挿入されたテキストをfrontとして指定して、シーケンスを再開できます。

したがって、結論として:

  • リングの上部は、新しくコピー/カットされた ( M-w/C-w) テキストが挿入される場所です。その場合、トップ要素がフロント要素になります。
  • リングのの要素は、貼り付け (ヤンクとも呼ばれる) コマンドC-yを実行M-yし、バッファーに挿入することによって操作する場所です。また、リング内の古いテキストが前面M-yになるように、リングを回転させます。

フロントが12時間の位置に固定された円を想像することで視覚化できますが、リングの一部ではありません. トップは代わりにリングの一部であるため、何らかのコマンドでリングを回転させると、トップ回転します。

代替テキスト

于 2010-10-15T21:06:43.773 に答える
4

Windows で何かをクリップボードにコピーまたは切り取るたびに、以前にクリップボードにあったものはすべて失われます。(一部のプログラムは、以前のクリップボードの内容を保存します) emacs の「リング」は、コピー/ヤンク/カット/キルした後でも、古いクリップボードの内容を保存します。一度に複数のものをクリップボードに保存でき、Windows のようにクリップボードに切り取ったものを誤って上書きする可能性が減るため、慣れれば便利です。

于 2010-10-15T15:36:49.890 に答える
3

リングは循環バッファーです。ローロデックスを考えてみてください。

リングをキル/ヤンクしている場合は、履歴を前後に移動できます。

于 2010-10-15T15:34:06.203 に答える
2

emacs-goodies-elパッケージがインストールされている Ubuntu では、次のようにします。

プレスC-( M-x browse-kill-ring RET C-)

これは、browse-kill-ring を押したときに呼び出される一時的なキーボード マクロを定義しますC-x e

これで、キル リングについて読むだけでなく、実際にその内容を確認できます。

C-w(カット)、M-w(コピー)、C-y(ヤンク)、 (リング内の次のヤンク) を試しC-y M-y、 を押しC-x eて、キル リングへの影響を確認します。

于 2010-10-30T16:20:46.733 に答える
1

Emacsのマニュアルから: 「リングは、挿入、削除、回転、およびモジュロ インデックス参照とトラバーサルをサポートする固定サイズのデータ​​構造です。」つまり、循環キューです。

于 2010-10-15T15:35:50.070 に答える