Я считаю, что самое близкое решение к тому, что вы хотите, это:
В вашем .bashrc, сразу после "set -o vi" ...
set -o vi
bind -m vi-command ".":insert-last-argument
Это говорит вашему bash, что нужно вызывать действие "insert-last-arguments", когда '.' используется в режиме vi-command. Это, конечно, означает, что вы теряете нормальное "." функциональность ВИ; но если вы похожи на меня, вы предпочтете это.
Добавление :
Вы также можете захотеть Ctrl-A , Ctrl-E , Ctrl-W и Ctrl-L для работы (это были те, которые были Я скучал больше всего):
bind -m vi-command ".":insert-last-argument
bind -m vi-insert "\C-l.":clear-screen
bind -m vi-insert "\C-a.":beginning-of-line
bind -m vi-insert "\C-e.":end-of-line
bind -m vi-insert "\C-w.":backward-kill-word