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

tur*_*rbo 17 editor shortcut-keys nano

同样 Ctrl+Left 到 prevword。我阅读了nanorc的手册页并发现

绑定键功能菜单

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

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

所以Left不存在。

有没有办法做到这一点?现在我正在使用 natty(nano 2.2.2),但如果以后的(开发?)版本可以做到这一点,我会升级 nano。

and*_*ing 13

可悲的是,我认为这是不可能的。我找到了一个纳米开发人员的线程:

嗨,我已经搜索了高低,试图找出是否可以使用 CTRL 左/右键在文本中导航以逐字跳转...

抱歉不行。Meta-Space 和 Ctrl-Space 是唯一可以做到这一点的键。这是因为在文本模式下,nano 无法区分 Ctrl-Left 和 Left 之间以及 Ctrl-Right 和 Right 之间的区别。

另一个,他说:

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

  • 最新版本的 `nano` 现在支持这个。https://askubuntu.com/questions/49530/bind-ctrlright-to-nextword-in-nano-as-it-is-in-all-other-apps/907579#907579 (2认同)

小智 7

这个问题有一个解决方案。将终端程序中的Ctrl-Left 和Ctrl-Right重新定义为很少使用的键,例如F13F14

然后在 ~/.nanorc 中:

bind F13 prevword main
bind F14 nextword main
Run Code Online (Sandbox Code Playgroud)

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