标签: tab-completion

zsh:按 Enter/Return 键选择菜单自动完成

一旦找到自动完成功能,我想从完成菜单中进行选择,目前我需要点击<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)

zsh tab-completion

4
推荐指数
1
解决办法
3073
查看次数

有没有办法告诉 shell(最好是 zsh)一个命令?

我定义了一个别名:

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实际做了什么并让它变得聪明?

zsh alias tab-completion

3
推荐指数
1
解决办法
107
查看次数

粘贴以制表符开头的 Bash 命令时完成

我正在写一个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部分?

bash command-line readline autocomplete tab-completion

3
推荐指数
1
解决办法
485
查看次数

Tab 补全关闭 SSH 连接

我正在使用 SSH 连接登录我的 Raspberry Pi。我之前通过 SSH 使用制表符补全,效果非常好。但现在,每当我尝试通过 SSH 使用制表符补全时,都会收到“连接已关闭”消息。

截屏

linux ssh tab-completion

3
推荐指数
1
解决办法
1007
查看次数

urxvt - 选项卡展开环境变量

我是 urxvt 的新手(从 gnome-terminal -> Ubuntu 12.04 难民)。我习惯于默认在 gnome-terminal 中扩展环境变量

假设我为“/home/foo/”设置了一个环境变量“FOO_PATH”。

当我输入 $FOO_PATH/ 时,我没有在 $FOO_PATH 中得到扩展和/或项目列表。

我如何在 {u}rxvt 中实现这一点?感谢您的关注。

资源管理系统

linux bash urxvt rxvt tab-completion

2
推荐指数
1
解决办法
976
查看次数

如何使 bash 补全行为像这样?

I\xe2\x80\x99m 不确定我\xe2\x80\x99m 的要求是否可能,但我希望 bash 在制表符按下时执行以下操作:

\n\n
    \n
  • 在第一个选项卡按下时,展开一个公共前缀(跳过/嘟嘟声并且不执行任何操作,我不\xe2\x80\x99t真的介意,如果有\xe2\x80\x99t)
  • \n
  • 在第二个选项卡上按下,列出选项
  • \n
  • 任何后续的选项卡按下都会循环显示这些选项
  • \n
\n\n

如果在整个过程中按下 Tab 以外的任何键,则下一次按 Tab 的行为将与第一步相同。

\n\n

我设法得到一和二:

\n\n
bind \xe2\x80\x9cset show-all-if-unmodified on\xe2\x80\x9d\nbind \xe2\x80\x98set menu-complete-display-prefix on\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n\n

我成功地得到了一和三:

\n\n
bind \xe2\x80\x98set menu-complete-display-prefix on\xe2\x80\x99\nbind \xe2\x80\x98TAB:menu-complete\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,将所有三个选项结合起来会得到一和三。

\n\n

我怎样才能获得所需的行为?

\n\n

谢谢!

\n

bash bashrc tab-completion

1
推荐指数
1
解决办法
2824
查看次数

bash 选项卡完成对 shell 脚本不起作用

在我的 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.

有没有简单的方法来解决这个问题?我想为我的用户修复它,而不是为所有用户修复它,因为我不想修改操作系统。

bash tab-completion

0
推荐指数
1
解决办法
2964
查看次数

标签 统计

tab-completion ×7

bash ×4

linux ×2

zsh ×2

alias ×1

autocomplete ×1

bashrc ×1

command-line ×1

readline ×1

rxvt ×1

ssh ×1

urxvt ×1