Welcome to the Power Users community on Codidact!
Power Users is a Q&A site for questions about the usage of computer software and hardware. We are still a small site and would like to grow, so please consider joining our community. We are looking forward to your questions and answers; they are the building blocks of a repository of knowledge we are building together.
How to enable `Alt + .` in bash with Vim bindings
Want
I want Alt-.
get the last argument to the last command, as it does in a
default bash terminal, when Vim bindings are enabled.
Similar to this SO post, but with a bash terminal, not zsh.
MWE
$ mv file1 dir
$ cd dir # "dir" input by hitting `Alt-.`
Have
Using this in my ~/.inputrc
to enable Vim bindings:
set editing-mode vi
set keymap vi
Notes
I am okay with this functionality being bound to something other than Alt-.
.
If it is already bound in vi-mode
, please tell me the binding.
1 answer
The following users marked this post as Works for me:
User | Comment | Date |
---|---|---|
mcp | (no comment) | Aug 19, 2024 at 08:39 |
You just need to add
"\e.":yank-last-arg
to $HOME/.inputrc
.
From man 3 readline
:
yank-last-arg (M-., M-_)
Insert the last argument to the previous command (the last word
of the previous history entry).
To determine the escape sequence you need to map, in this case \e.
, type Ctrl-V followed by the desired sequence in the terminal. That outputs ^[.
(where ^[
is the representation for the ESC character, 0x1B).
1 comment thread