我已经被说服(在 Stack Overflow 上)在 vi 模式下使用我心爱的 bash。到目前为止,我已经习惯了它,我喜欢它。
但是我确实错过了一个功能:在 emacs 模式下,您可以通过按“ESC”来输入上一个命令的最后一个参数。(也就是说,按 Esc 后跟 .)
是否有默认绑定可以在 vi 模式下插入最后一个参数?我找不到一个,我真的很想念这个命令......
Pol*_*lsy 10
没有默认值。当您切换到 vi 模式时,'yank-last-arg' 的绑定(由 'bind -p' 列出)就会消失。
bind '"\e."':yank-last-arg
Run Code Online (Sandbox Code Playgroud)
会给你同样的绑定(或选择其他东西)
在〜/ .inputrc文件文件可以配置键映射(可以手动生成它,如果它无法找到)。将以下命令添加到~/.inputrc 中:
"\e.": yank-last-arg
"\e_": yank-last-arg
Run Code Online (Sandbox Code Playgroud)
我的 ~/.inputrc 是:
set completion-ignore-case on
set show-all-if-ambiguous on
set show-all-if-unmodified on
set editing-mode vi
set keymap vi-insert
"\C-p": previous-history
"\C-n": next-history
"\C-a.":beginning-of-line
"\C-e.":end-of-line
"\e.": yank-last-arg
"\e_": yank-last-arg
Run Code Online (Sandbox Code Playgroud)
您可以找到有关细节的readline和bind -p这里:http://linux.about.com/library/cmd/blcmdl3_readline.htm
以及一些关于bash和Readline VI Editing Mode Cheat Sheet 中的Vi keyblindings 的信息
| 归档时间: |
|
| 查看次数: |
2703 次 |
| 最近记录: |