将 Ctrl+Right 绑定到 nano 中的下一个单词(就像在所有其他应用程序中一样)

将 Ctrl+Right 绑定到 nano 中的下一个单词(就像在所有其他应用程序中一样)

同样,Ctrl+Left 键可返回上一个单词。我阅读了纳米弧并发现

绑定按键功能菜单

所以这条线bind ^Left prevword main就是我想要的,问题是 nano 只接受

一个字母字符或单词“Space”

所以Left不存在。

有办法实现这个吗?目前我使用的是 natty (nano 2.2.2),但如果后续版本 (devel?) 可以实现这个功能,我会升级 nano。

答案1

遗憾的是,我认为这是不可能的。我找到了一个帖子,其中一位 nano 开发人员

你好,我到处寻找是否可以使用 CTRL 左/右键逐字跳转来浏览文本...

不幸的是,不行。只有 Meta-Space 和 Ctrl-Space 可以做到这一点。这是因为在文本模式下,nano 无法区分 Ctrl-Left 和 Left 以及 Ctrl-Right 和 Right。

其他, 他加了:

因为我认为 nano 在 X 终端和控制台下应该以相同的方式工作,而且我还没有找到可以区分 [箭头键] 和 Ctrl-[箭头键] 的控制台。我真希望情况不是这样...

答案2

这个问题有一个解决办法。将终端程序中的Ctrl-Left 和Ctrl-Right 重新定义为不常用的键,例如F13F14

然后在〜/ .nanorc中:

bind F13 prevword main
bind F14 nextword main

现在,至少对我来说,一个缺点是,它仅在您使用用于重新定义键的终端程序时才有效。例如,在我的情况下,当我在操作系统(在我的情况下是 FreeBSD)的物理控制台上时,这不起作用。但我几乎 100% 的时间都在另一间房间的桌面上使用 QVT/Term。效果很好。

答案3

安装最新版本的nano。他们添加了ctrl+leftctrl+right按文字移动。(当然 v2.7.4 有这个)。

答案4

另一个选择是使用默认的Ctrl-SpaceAlt-Space命令。

相关内容