acionar a ligação de tecla do modo vi somente no modo normal

1

Criei algumas associações de teclas personalizadas para o modo bash vi. Eles são acionados enquanto estou no modo de inserção e, em vez disso, eles são acionados quando estou no modo normal.

Estou usando o modo vi

set -o vi

em um emulador de terminal no servidor Ubuntu 14.04. Até agora tenho remapeado:

^ — Move to start of line

$ — Move to end of line

Para o seguinte:

<space>a — Move to start of line

<space>; — Move to end of line

Usando o comando interno bash vincule editando .bashrc como segue:

bind " -a":beginning-of-line
bind " -;":end-of-line

Essas combinações de teclas funcionam - mas elas só são acionadas quando estou no modo de inserção. Como posso obtê-los apenas para disparar apenas quando estou no modo normal e não no modo de inserção , em vez disso?

Tags

: modo bash vi, teclas de remapeamento do modo bash vi, modo normal do modo vi

    
por user3751385 31.05.2016 / 07:58

1 resposta

1

É assim que é feito em .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
    
por 31.05.2016 / 20:44