您可以使用^Q
将内容推送到缓冲区,然后使用ESC-g
弹出它们。 Alt+x vi-set-buffer
以某种方式更改缓冲区。我怎样才能看到所有的缓冲区?它们可能是一些要查看的文件。
答案 0 :(得分:1)
^Q
(和Esc-Q
)和Esc-g
使用emacs缓冲区,因此我认为它们不会与vi缓冲区进行交互。
这适用于emacs模式(set -o emacs
):
function _showbuffers()
{
local nl=$'\n' kr
typeset -T kr KR $'\n'
KR=($killring)
typeset +g -a buffers
buffers+=" Pre: ${PREBUFFER:-$nl}"
buffers+=" Buffer: $BUFFER$nl"
buffers+=" Cut: $CUTBUFFER$nl"
buffers+=" L: $LBUFFER$nl"
buffers+=" R: $RBUFFER$nl"
buffers+="Killring:$nl$nl$kr"
zle -M "$buffers"
}
zle -N showbuffers _showbuffers
bindkey "^[o" showbuffers
要演示它,请尝试以下每个步骤,在每个步骤后按Alt-o(字母“O”)或Esc-o:
echo abc
,然后按Ctrl-u echo def
,然后按Ctrl-u(或Home Ctrl-K或Ctrl-X Ctrl-K)echo 'ghi
,按Enter键,键入jkl'
echo "mno pqr"
并按两次左箭头