在R中从vi模式切换到emacs模式

3
有时在 R 控制台上,我会意外地键入一个未知的键盘快捷键,将编辑模式从 emacs 更改为 vi。
有人知道通常用什么组合键可以从一个模式切换到另一个模式吗?
我正在使用 Fedora 16 机器
我查看了此 question 上的信息,但使用 meta+v 或 meta+e 没有任何变化。
更新:下面答案中显示的按键只在 R 中有效!

似乎很奇怪bash(或其他)不遵循默认的GNU readline行为,但这可能很有用:https://dev59.com/gnE85IYBdhLWcg3wvGAR - Ben Bolker
谢谢提供链接,但这是我之前在问题中发布的相同内容。尽管我已经将"\M-v": vi-editing-mode "\M-e": emacs-editing-mode这两行添加到了我的/etc/inputrc文件中,但我并没有看到任何区别。我一定做错了什么。我会继续发布我的结果。 - pedrosaurio
抱歉,出错了。 (请注意,这部分问题已经发展,不再是R语言的问题:也许可以在其他问题下添加评论,看看是否有人回复?) - Ben Bolker
强制性“解决方案”:http://xkcd.com/378/ - Carl Witthoft
1个回答

2

R使用GNU readline库进行键盘编辑模式。基于这些链接,我认为答案是meta-ctrl-jhttp://cnswww.cns.cwru.edu/php/chet/readline/readline.html#SEC22http://www.algorithm-forge.com/techblog/2009/09/shortcuts-in-r-under-unix-from-the-readline-library/ ...

(我在MacOS 10.6上的VMWare中运行Ubuntu 10.04,因此实际上必须按Alt-fn-j组合键切换模式。我从未意外地这样做过!)

编辑:正如OP指出的那样,Ctrl-e可以从emacs返回到vi模式。http://unixhelp.ed.ac.uk/CGI/man-cgi?readline+3确实如此说。

   "C-E"  emacs-editing-mode
但这很难挖掘出来!

“Alt+Ctrl-j” 可以完美地从 Emacs 切换到 Vi,但现在我卡在了 Vi 模式下,“Alt+Ctrl-j” 是单向的。 - pedrosaurio
在vi模式下,Ctrl-e可以让你回到emacs模式。 - pedrosaurio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接