Zmapować klucze bash vi?

11

Używam Dvoraka i vi, więc kiedy dowiedziałem się o trybie vi w Bash, byłem bardzo podekscytowany. Byłoby jednak jeszcze lepiej, gdybym mógł zmienić mapowanie klawiszy ruchu, aby były tymi, których używam w vi (zamieniam klucze, dopóki klucze ruchu nie wrócą do domowego rzędu w Dvorak).

W jaki sposób mogę to zrobić?

Sydius
źródło
3
Spójrz na bindwbudowane polecenie w bash, lub jeśli chcesz, aby zmiany były jednolite we wszystkich readlineaplikacjach, zmodyfikuj ~/.inputrc.
jw013,

Odpowiedzi:

14

Możesz utworzyć plik o nazwie „.inputrc” w swoim katalogu domowym.

# want vi to be the default editor for readline                      
set editing-mode vi                                            

# vi settings                                         
$if mode=vi                
    # normal mode                           
    set keymap vi-command                                 
    "j": beginning-of-history
    "l": backward-char
    "h": forward-char         
    "G": end-of-history
    # insert mode             
    set keymap vi-insert                          
    "jj": vi-movement-mode # remap escape   
$endif 

To są moje mapowania, z wyjątkiem li h. Zamieniłem je tutaj, aby pokazać ci, jak możesz przełączać klucze. Nie znam kluczy Dvoraka, które chcesz, po prostu zmodyfikuj wszystkie te klucze, jak chcesz.

man bash opisuje wszystkie możliwości.

David Halter
źródło