20:04:复制命令(M-6)被 Nano 忽略

20:04:复制命令(M-6)被 Nano 忽略

除了 M-6(复制当前标记的文本并存储在 cutbuffer 中)之外,每个命令在 Nano 中都可以使用。我也测试了替代命令 (M-^),但没有成功。

每个人都是这样吗?

答案1

听起来好像其他程序窃取了您的 Alt+6 键绑定。查看您的终端设置,看看是否可以禁用此类快捷键。如果这不起作用,请查看您的 Ubuntu 快捷键,看看是否有使用 Alt+6 的快捷键,然后禁用它们。

是的,有解决方法。您可以绑定其他键盘快捷键来复制。

打开 ~/.nanorc

在其中,在其自己的行上输入

bind ^P copy all

保存。退出 Nano 的所有实例。

现在您可以通过输入 ctrl+p 而不是 alt+6 来在 Nano 中复制(使用 Nano 的剪贴板)。

或者,如果您想使用 GUI 的剪贴板而不是 Nano 的剪贴板,您可以尝试这个,但如果您希望它能够在一定程度上正常工作,请确保您使用的是 Nano 6.4,因为我还没有在其他任何东西上测试过它:

  • sudo apt 安装 xsel

  • 使用 Nano 打开 ~/.nanorc ;您必须使用 Nano(而不是其他文本编辑器)编辑该文件。

  • 在其自己的行类型上bind ^P "|xsel -ib" main

  • 在 之间"|,按 Alt+v,然后按 Ctrl+t (它应该输出一些逐字输入的字符)

  • 转到并按b"Alt+v 并按回车键(它应该输出一些逐字输入的字符)

  • 按 Alt+v,然后按 Alt+u(它应该输出一些逐字输入的字符)

  • 在其自己的行类型上bind ^V "xsel -ob" main

  • 在 之间"x,按 Alt+v,然后按 Ctrl+t (它应该输出一些逐字输入的字符)

  • 转到并按b"Alt+v 并按回车键(它应该输出一些逐字输入的字符)

这两行最终看起来应该是这样的(但要按照我上面说的做;不要只是复制和粘贴以下内容):

bind ^V "^Txsel -ob^M" main
bind ^P "^T|xsel -ib^M^[u" main
  • 保存并退出 Nano 的所有实例。

现在,当您在 Nano 中按下 Ctrl+p 时,它将使用 GUI 剪贴板而不是 Nano 的剪贴板进行复制,如果您按下 Ctrl+v,它将使用 GUI 剪贴板而不是 Nano 的剪贴板进行粘贴(如果您愿意,您也可以使用 Nano 的剪贴板作为第二个剪贴板)。您可以让它改为执行 Ctrl+c,但如果您想正确使用 Nano,则必须重新绑定其他内容(因为 Ctrl+c 本身就非常重要)。

与我提到的第一种方法相比,这种方法的缺点是它仅适用于主要内容(文本主体);因此,它不会在执行命令菜单、搜索菜单等中复制/粘贴。但是,您可以使用 Nano 的剪贴板来实现这一点。

相关内容