我想要像在 emacs 中那样的完成,如果您正在输入的命令只有一个完成,那么您不需要全部输入。
例如:
package ins
就足够了,而不需要输入整个:
package install
是否有可以实现这一功能的包或脚本?
我正在寻找一种不需要按下 Tab 键而是直接按下 Enter 键并在运行命令之前让脚本自动完成的解决方案。
答案1
答案2
您需要安装bash-completion
。如果已安装,您需要获取它:
source /etc/bash_completion
您可以将其添加到 .bashrc 文件中。您可以在以下位置添加自定义补全/etc/bash_completion.d/
答案3
bash
如果软件包已安装,则默认执行此操作,bash-completion
只需输入例如
> apt i
按下Tab ↹你就会得到
> apt install
如果有多个匹配项,再按Tab ↹一次将显示它们的列表。例如
> ap
Tab ↹
什么都没发生
Tab ↹
aplay apport-bug apt aptdcon aptitude-curses
aplaymidi apport-cli apt-add-repository apt-extracttemplates aptitude-run-state-bundle
apm_available apport-collect apt-cache apt-ftparchive apt-key
apparmor_parser apport-unpack apt-cdrom apt-get apt-mark
apparmor_status appres apt-config aptitude apt-sortpkgs
applygnupgdefaults apropos aptd aptitude-create-state-bundle
答案4
如果你的问题是你想要Bash 补全,请参阅帖子终端自动完成功能无法正常工作,否则,如果您需要Enter变得像Tab ↹并且立即执行该命令,那么您需要在您的命令中添加下面的命令~/.bashrc
,然后source ~/.bashrc
它。
bind 'RET:"\C-i\C-j"'
是;RET
的缩写,您也RETURN
可以使用它来表示+ 。"\C-M"
CtrlM