动态缩写为shell扩展

时间:2011-05-12 09:13:52

标签: linux shell emacs

在其中一个linux shell上是否有一个函数,比如emacs dabbrev-expand?

1 个答案:

答案 0 :(得分:3)

首先给出一个定义:

M-X 描述功能输入 dabbrev展开输入

...
Expands to the most recent, preceding word for which this is a prefix.

鉴于bash似乎受到Emacs的影响最大,因此首先要发现一些可能性:

man bash(1), readline section

dynamic-complete-history (M-TAB)
     Attempt completion on the text before point, comparing the text
     against lines from the history list for possible completion matches.
dabbrev-expand
      Attempt menu completion on the text before point, comparing the text
      against lines from the history list for possible completion matches.

默认情况下(或至少是我的系统), M - / 已绑定到complete-filename

$ bind -l | grep /
"\e/": complete-filename

您可以通过添加

重新绑定它
"\e/": dabbrev-expand

~/.inputrc/etc/inputrc

请注意,它似乎只是完成了第一个单词(命令),而且只能从历史记录中完成,而不是从我当前的命令行完成。

在zsh中,我在手册页中看不到任何内容,但是应该可以通过找出相应的compctl命令(Google mirror)来实现。