我希望能够使用 Emacs 默认使用的相同键盘绑定(即使用C-space
for set-mark
、M-w
复制文本、C-y
、M-y
粘贴它等)在 Bash 的命令行中复制和粘贴文本。
在GNU Bash的文件说,猛砸附带了一些默认设置了这些键绑定。
例如,yanking ( C-y
) 默认在我的终端上工作。但是,我无法使set-mark
和copy
命令起作用,并且默认情况下它们似乎没有绑定到任何键。
通常,用户定义自己的键绑定的方式是将它们添加到.inputrc
. 所以我在文档中查看并发现了以下 bash 函数,我认为这些函数可以帮助我定义我想要的类似 Emacs 的行为(即set-mark
withC-space
和copy
with M-w
)。
copy-region-as-kill ()
Run Code Online (Sandbox Code Playgroud)
将区域中的文本复制到终止缓冲区,以便立即将其拉出。默认情况下,此命令是未绑定的。
和
set-mark (C-@)
Run Code Online (Sandbox Code Playgroud)
将标记设置为点。如果提供了数字参数,则标记设置为该位置。
如果我理解正确的话,上面的意思copy-region-as-kill
是默认情况下不绑定到任何键盘序列,而默认情况下set-mark
绑定到C-@
。
我C-@
在我的终端上试过,但我认为它没有运行,set-mark
因为当我移动光标时我没有看到任何突出显示的文本。无论如何,我尝试将键盘绑定(M-w
和C-
)添加到my 中的函数 copy-region-as-kill
及set-mark
以上.inputrc
,然后使用 重新加载它C-x C-r
,但这不起作用。我知道我的其他条目正在.inputrc
工作,因为我在其中定义了其他用户定义的键绑定。 …