如何解决R命令行的Vi键绑定,如Bash一样
| 语境 我喜欢使用具有以下设置的vi样式的键绑定来编辑和操作bash命令行:set -o vi
但是,当我在命令行上启动R时,这些键绑定消失了。
我知道当您通过Conque Shell运行R时,Vim-R插件允许Vim绑定,但是我对这种体验并不完全满意,无论如何,有时我只想在标准命令行上运行R 。
题
是否可以通过命令行在R中获得Vi样式的键绑定?
解决方法
感谢Joshua Ulrich和progo的回答,这有助于我入门。
下面我记录我的经验:
初始设置
我尝试了
set keymap vi
和set editing-mode vi
。当我在Gnome终端中启动R时,某些快捷方式有效,而其他快捷方式则无效。
特别是cc
和dd
(即删除行)根本不起作用,cw
和dw
执行删除单词的操作,但是直到我按下附加键后才更新显示,这不是功能上的经验。
替换缺少的功能
我发现这个inputrc文件给了我一些想法。
帮助页面自然很有帮助。
我在“ 7”中添加了以下内容,从而解决了上述明显的问题:
set completion-ignore-case on
set editing-mode vi
$if mode=vi
set keymap vi-insert
\"\\C-l\": clear-screen
\"\\C-p\": history-search-backward
\"\\C-n\": history-search-forward
# alt dot cycles through last argument
\"\\e.\":yank-last-arg
set keymap vi-command
\"D\":kill-line
\"dw\": kill-word
\"dd\": kill-whole-line
\"db\": backward-kill-word
\"cc\": \"ddi\"
\"cw\": \"dwi\"
\"cb\": \"dbi\"
\"diw\": \"lbdw\"
\"yiw\": \"lbyw\"
\"ciw\": \"lbcw\"
\"diW\": \"lBdW\"
\"yiW\": \"lByW\"
\"ciW\": \"lBcW\"
\"gg\": beginning-of-history
\"G\": end-of-history
$endif
, 将此添加到您的.inputrc
:
set editing-mode vi
, R命令行似乎使用Readline。 Readline使用ѭ9进行设置:
set keymap vi
到你的~/.inputrc
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。