命令行上的猛拉文本存储在哪里?

For*_*ker 5 command-line keyboard-shortcuts readline

当您使用 readline 命令删除命令行上的字符时(例如Ctrl-U,您可以使用 粘贴Ctrl-y,但它存储在哪里?它似乎根本不使用 X11 剪贴板。

jor*_*anm 7

它进入了一个终止环,就像在 Emacs 中一样。来自 GNU Readline 文档:

当您使用 kill 命令时,文本将保存在 kill-ring 中。任意数量的连续杀戮都会将所有被杀的文本保存在一起,这样当你把它拉回来时,你就得到了全部。终止环不是特定于线路的;您在先前键入的行上删除的文本稍后可以在您键入另一行时被拉回。

来源:http : //www.gnu.org/software/bash/manual/html_node/Readline-Killing-Commands.html

终止环存储在通过malloc字符指针分配的内存中。来自kill.creadline 来源:

/* Where to store killed text. */
static char **rl_kill_ring = (char **)NULL;
Run Code Online (Sandbox Code Playgroud)