一旦找到自动完成功能,我想从完成菜单中进行选择,目前我需要点击<Enter>两次 - 一次将选择添加到终端,一次执行命令。
有没有办法按<Enter>一次就可以同时执行这两项操作?
我也尝试过
bindkey -M menuselect '^M' .accept-line
Run Code Online (Sandbox Code Playgroud)
来自https://superuser.com/a/817451/1012390,
但每次启动新终端时都会出现错误:
/home/kipras/.zshrc:bindkey:32: no such keymap `menuselect'
Run Code Online (Sandbox Code Playgroud) 我定义了一个别名:
alias school="cd ~/School/3BaFys/"
Run Code Online (Sandbox Code Playgroud)
快速转到3BaFys包含我今年需要的所有目录的文件夹。
zsh当我这样做时,有没有办法告诉我:
$school Num<TAB>
Run Code Online (Sandbox Code Playgroud)
这扩展到
$school Numerieke\ Methoden
Run Code Online (Sandbox Code Playgroud)
Numerieke \Methoden的子目录在哪里~/School/3BaFys/
例如,告诉 shellschool实际做了什么并让它变得聪明?
我正在写一个Dockerfile我正在使用选项卡(我通常在任何地方都使用)进行格式化的文件。
但是我复制了一个多行命令,其中第二行以两个制表符开头,即:
apt-get -y update && \
apt-get -y install collectd \ # begin two tabs
Run Code Online (Sandbox Code Playgroud)
第一行正确执行,但第二行尝试“自动完成”,显示所有可能的命令,然后:
> stall collectd
# [ apt-get updating ]
bash: stall: command not found
Run Code Online (Sandbox Code Playgroud)
我了解“自动完成”行为,但是stall collectd?为什么 Bash 会吃掉这apt-get -y in部分?
我是 urxvt 的新手(从 gnome-terminal -> Ubuntu 12.04 难民)。我习惯于默认在 gnome-terminal 中扩展环境变量
假设我为“/home/foo/”设置了一个环境变量“FOO_PATH”。
当我输入 $FOO_PATH/ 时,我没有在 $FOO_PATH 中得到扩展和/或项目列表。
我如何在 {u}rxvt 中实现这一点?感谢您的关注。
资源管理系统
I\xe2\x80\x99m 不确定我\xe2\x80\x99m 的要求是否可能,但我希望 bash 在制表符按下时执行以下操作:
\n\n如果在整个过程中按下 Tab 以外的任何键,则下一次按 Tab 的行为将与第一步相同。
\n\n我设法得到一和二:
\n\nbind \xe2\x80\x9cset show-all-if-unmodified on\xe2\x80\x9d\nbind \xe2\x80\x98set menu-complete-display-prefix on\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n我成功地得到了一和三:
\n\nbind \xe2\x80\x98set menu-complete-display-prefix on\xe2\x80\x99\nbind \xe2\x80\x98TAB:menu-complete\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\n然而,将所有三个选项结合起来会得到一和三。
\n\n我怎样才能获得所需的行为?
\n\n谢谢!
\n在我的 Fedora 19 系统上,当我sh在命令行的开头有一个时,选项卡完成对 bash 脚本不起作用,除非脚本文件名以.sh.
也就是说,如果我输入:
$ sh file<tab>
Run Code Online (Sandbox Code Playgroud)
当前目录包含:
filename
Run Code Online (Sandbox Code Playgroud)
...标签完成不起作用。
但是如果当前目录包含:
filename.sh
Run Code Online (Sandbox Code Playgroud)
完成工作。
补全适用于其他所有内容,因此我怀疑有一个自定义补全程序用于以 开头的命令,sh它正在寻找以.sh.
有没有简单的方法来解决这个问题?我想为我的用户修复它,而不是为所有用户修复它,因为我不想修改操作系统。