![仅在正常模式下触发 vi 模式键绑定](https://linux22.com/image/8042/%E4%BB%85%E5%9C%A8%E6%AD%A3%E5%B8%B8%E6%A8%A1%E5%BC%8F%E4%B8%8B%E8%A7%A6%E5%8F%91%20vi%20%E6%A8%A1%E5%BC%8F%E9%94%AE%E7%BB%91%E5%AE%9A.png)
我为 bash vi 模式创建了一些自定义键绑定。它们在我处于插入模式时触发,而我希望它们在我处于正常模式时触发。
我使用的是 vi 模式
set -o vi
在 Ubuntu 14.04 服务器上的终端模拟器中。到目前为止我已经重新映射:
^ — 移至行首
$ — 移至行尾
至以下内容:
<space>
a - 移至行首
<space>
; — 移动到行尾
使用 bash 内置命令绑定通过编辑.bashrc如下:
bind " -a":beginning-of-line
bind " -;":end-of-line
这些键绑定有效 - 但它们仅在我处于插入模式时触发。我怎样才能让他们只开火仅当我处于正常模式而不是插入模式时, 反而?
标签: bash vi 模式, bash vi 模式重映射键, vi 模式普通模式
答案1
这是在 .inputrc 中完成的:
set editing-mode vi
$if mode=vi
# these are for vi-command mode
set keymap vi-command
# unbind space
" ": ""
# bind space-a, space-;
" a":beginning-of-line
" ;":"$"
$endif