Googleで検索しても他の場所では見つからないほど非常に簡単な質問があります。たとえ私には非常に自然な質問で感じられますが、たぶん私が何かを逃しているのかもしれません。
したがって、YANKという言葉は、BashとVimで反対の意味を持つようです。
- Bashからコピー&ペーストはKillとYankです。だから私たちは
ctrl-y
おなじみです。生地キリングに保存されたテキスト(または愚かキリングのテキスト(例:引く。 - Vimのコピーと貼り付けはコピーと貼り付けです。だから私たちは
p
単に生地。しかし、我々はy
テキストをバッファにコピーするために使用します。
それで、Bash Yankではコピーで、Vim Yankでは貼り付けると思います。英語では、Yankは「プール」を意味するので、Yankをバッファ/キリングからデータを取得すると考える方が合理的だと思います(したがってyank =貼り付け)。
しかし、これについての議論を実際に見つけることができないので、上記の問題について非常に合理的な説明があるべきだと思いました。誰かが私がこれを理解するのを手伝ってくれたら、とても感謝します!
ありがとうございます!
答え1
bash
(またはこれはbashで使用される行編集ライブラリです。)1980年代初頭以降、他のほとんどのシェルと同様に、2つの人気のあるテキストエディタに基づくreadline
2つの行編集モードがあります。emacs
vi
BashはGNUシェルです。牛に似た一種の栄養emacs
GNUのスターアプリケーションの1つであるデフォルトモードは、(またはtcshまたはzshの/)を使用して2つを切り替えることemacs
ができます。 Kshもあります。set -o emacs
set -o vi
bindkey -e
bindkey -v
set -o gmacs
小さなガチョウEmacsたとえば、これはSolarisのデフォルト設定です。
だから意味の違いに近い愚かemacsとviの言葉。
emacsとviは、どちらもbash(1989)またはvim(1991)の前の1970年代後半に作成されました。
見たらvi
1979年の2BSD文書:
オペレーターワイオブジェクトのコピーを名前のないバッファにインポートします。バッファ名が前に来ると「xワイここで、xは文字に置き換えられます。a−z、指定されたバッファにテキストを配置します。その後、コマンドを使用してテキストをファイルに書き戻すことができます。血そして人;血カーソルの後ろまたは下にテキストを配置し、人カーソルの前または上にテキストを配置します。
Emacsには貼り付けバッファはありませんが、1つあります。殺人リング録音したテキストを録音します。死またはコピー入ってください。プルはテキストからキルリングに引っ張るのではなく、そのキルリングからプルする別の方向に現れるようです。
存在する1985年頃のGNU emacsドキュメント、私達は次を発見します:
Yankingが削除されたテキストを検索しています。テキストを移動またはコピーする一般的な方法は、テキストを削除してから1回以上取り出すことです。
Bashには、キーまたはキーの組み合わせにバインドできる2つのエディタのウィジェットがあることがわかります。
$ bash -c 'bind -l' | grep -i yank
vi-yank-arg
vi-yank-pop
vi-yank-to
yank
yank-last-arg
yank-nth-arg
yank-pop
(vi
ほとんど文書化されていません)。
基本バインディング:
$ bash -o vi -c 'bind -pm vi' | grep yank
"_": vi-yank-arg
# vi-yank-pop (not bound)
"Y": vi-yank-to
"y": vi-yank-to
"\C-y": yank
# yank-last-arg (not bound)
# yank-nth-arg (not bound)
# yank-pop (not bound)
$ bash -o vi -c 'bind -pm vi-insert' | grep yank
# vi-yank-arg (not bound)
# vi-yank-pop (not bound)
# vi-yank-to (not bound)
"\C-y": yank
# yank-last-arg (not bound)
# yank-nth-arg (not bound)
# yank-pop (not bound)
vi挿入モードでemacsスタイル+を取得する方法を確認してくださいCtrl。y文書化されていないvi-yank-arg
バインディング_
もemacsスタイルの用語を使用し、yank-last-arg
emacsウィジェットと同様に動作します。vi-yank-pop
どうすればいいのかわかりません。 BashソースディストリビューションのドキュメントNEWS
によるとemacsモード yank-popのviモードバージョン、viにはキリングがないので、これは意味がありません。