上下文
我喜欢使用vi样式的键绑定编辑和操作bash命令行,设置如下:
set -o vi
但是,当我在命令行上启动R时,这些键绑定将消失。
我知道当您在Conque Shell中运行R时,Vim-R plugin允许Vim keybindings,但我并不完全满意这种体验,而且,不管怎样,有时我只想在标准命令行上运行R。
问题
有没有办法在命令行的R中获取Vi风格的键绑定?
最佳答案
感谢Joshua Ulrich和progo的回答,这帮助我开始。
以下是我的经历:
初始设置
我试过set keymap vi
和set editing-mode vi
。当我在我的Gnome终端启动R时,一些快捷方式起作用,而另一些不起作用。
尤其是cc
和dd
(即删除行)根本不起作用,cw
和dw
执行了删除单词的操作,但在我按下一个附加键(这不是一种功能体验)之前没有更新显示。
替换丢失的功能
我找到了这个文件,给了我一些想法。
inputrc自然是有帮助的。
我在~/.inputrc
中添加了以下内容,修复了上述明显的问题:
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
关于bash - R命令行的Vi键绑定(bind),如在Bash中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6235034/