上下文
我喜欢使用vi样式的键绑定编辑和操作bash命令行,设置如下:

set -o vi

但是,当我在命令行上启动R时,这些键绑定将消失。
我知道当您在Conque Shell中运行R时,Vim-R plugin允许Vim keybindings,但我并不完全满意这种体验,而且,不管怎样,有时我只想在标准命令行上运行R。
问题
有没有办法在命令行的R中获取Vi风格的键绑定?

最佳答案

感谢Joshua Ulrich和progo的回答,这帮助我开始。
以下是我的经历:
初始设置
我试过set keymap viset editing-mode vi。当我在我的Gnome终端启动R时,一些快捷方式起作用,而另一些不起作用。
尤其是ccdd(即删除行)根本不起作用,cwdw执行了删除单词的操作,但在我按下一个附加键(这不是一种功能体验)之前没有更新显示。
替换丢失的功能
我找到了这个文件,给了我一些想法。
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/

10-13 02:58