Questions tagged «zsh»

Zsh是具有许多高级命令行和脚本功能的shell。

1
Zsh完成,启用Shift-Tab
当zsh向您显示可能的补全菜单时,我希望它可以让我shift-tab用来访问以前的补全条目-是否有一个选项可控制使用什么键来访问以前的补全条目? 如果是这样,我需要将什么添加到我的~/.zshrc 文件中进行设置。 如果有什么不同,我目前可以使用箭头键浏览完成菜单,但是我不喜欢这样做,因为箭头键感觉不合适并且难以使用。

4
$ {!FOO}和zsh
${!FOO}在中执行双重替换bash,这意味着它接受FOO的(字符串)值并将其用作变量名。 zsh不支持此功能。 有没有一种方法,使这项工作同样在bash和zsh? 背景: 我有一个环境变量列表,例如 PATH MAIL EDITOR 并想先打印变量名,然后再打印它们的值。 这适用于bash但不适用zsh: for VAR in LIST do echo $VAR echo ${!VAR} done 应该可以通过某种方式实现“旧方法” eval,但是我无法使其正常工作: for VAR in LIST do echo $VAR echo `eval \$$VAR` done 我永远也不会理解为什么我不能简单地进行像${${VAR}}或什至${${${VAR}}}需要这样的任意深度替换,因此对此做一个解释也很好。

1
在zsh中动态更新完成列表
我发现zsh的Tab完成结果列表非常有用,但是我想稍微调整一下它们的行为: 它们应该在我Tab第一次出现时出现,然后随着添加的每个新字母动态更新。默认行为是,仅当您Tab再次输入建议时,才会重新评估建议,我想保存此重复的按键。(更新:但是仅列出可能的补全,即使只剩下一个选项,也不应自动修改我的实际提示行。) 有什么办法可以实现这种行为?
13 zsh  autocomplete 

5
归位键在终端中不起作用
我正在使用GNOME Terminal 2.7.3和zsh 4.3.9(x86_64-unknown-linux-gnu) Home并且End不起作用。当我按它们时,什么也没发生,什么也没显示。但是当我按shift + Home(滚动到shell输出的开头。)时它们也可以工作,并且在其他GUI程序中也可以工作。我用谷歌搜索并尝试了以下方法。不用找了 :( 885 bindkey "\e[1~" beginning-of-line 886 bindkey "\e[H" beginning-of-line 887 bindkey "\e1~" beginning-of-line 888 bindkey "\eH" beginning-of-line 889 bindkey "\e[0H" beginning-of-line PS:当我在最后一个选项卡,然后按Ctrl + pagedown我被;5~打印在屏幕上。这有什么线索吗?


3
[-t 1]检查什么?
我刚刚找到了一种从Windows zsh启动bashWindows 时启动的方法 https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/。 建议在的末尾添加以下代码.bashrc。 # Launch Zsh if [ -t 1 ]; then exec zsh fi 什么[ -t 1 ]意思 这是真的吗? 然后,我可以这样做吗? exec zsh
13 bash  shell  zsh  test 

2
我可以使用类似vi的hjkl键浏览zsh的制表符完成菜单吗?
我使用zsh的基于菜单的制表符完成。我按Tab一下,然后出现可能的完成清单。如果Tab再次按,则可以使用箭头键浏览此列表。然而,是否有可能与浏览他们vi般H,J,K,L钥匙呢? 我在命令行输入中使用emacs模式,bindkey -e在中~/.zshrc。我还将zim与zsh一起使用。如果相关,则指定制表符补全系统的命令在此处。

2
Shell有效的函数名称字符
对于许多用户来说,使用扩展的Unicode字符是(毫无疑问)有用的。 更简单的shell(灰(busybox),破折号)和ksh会因以下原因而失败: tést() { echo 34; } tést 但是bash,mksh,lksh和zsh似乎允许这样做。 我知道POSIX 有效函数名称使用此Names定义。这意味着此正则表达式: [a-zA-Z_][a-zA-Z0-9_]* 但是,在第一个链接中还说: 一个实现可以允许函数名称中的其他字符作为扩展名。 问题是: 是否接受并记录了此文件? 哪里? 对于哪些壳(如果有)? 相关问题: 它可能在shell函数名称中使用特殊字符吗? 我对在函数名称中使用元字符(>)不感兴趣。 包含“-”的upstart和bash函数名称 我不认为运算符(减号“-”)应该是名称的一部分。
13 bash  shell  zsh  function 

2
根据用户或zsh中的root更改提示颜色
在zsh中,您可以%#在您的PS1(或任何PROMPT变量)中使用a,这基本上意味着%在用户情况下显示,#在root 用户情况下显示。我想知道是否有任何方法可以影响此效果,从而使%或#根据用户或根更改颜色(根为红色,用户为蓝色),显而易见的方法是更改PS1根中的,~/.zshrc但是考虑这已经是一个特殊的符号,我想知道是否可能没有办法PS1对两者都使用相同的东西…… %#zsh 特有的东西(我敢肯定,还有其他一些我也可以这样做的技巧) if语句)。
13 shell  zsh  colors  prompt 

1
我如何获得有关zsh内置的帮助消息?
如果我想获得内置bash的简短用法消息,可以help <builtin>在命令提示符下使用,例如 $ help export export: export [-fn] [name[=value] ...] or export -p Set export attribute for shell variables. Marks each NAME for automatic export to the environment of subsequently executed commands. If VALUE is supplied, assign VALUE before exporting. Options: -f refer to shell functions -n remove the export …

4
字符串替换:所有出现
一个简单的问题,但我找不到答案。zsh文档使我不知所措:-( function z () { echo ${1:s/the/THE} } $ z thethethe THEthethe ... 我如何才能将所有 “ the”替换为“ THE”,而不仅仅是第一次出现?使用zsh,这似乎是最难找到的示例。
13 zsh  string 

1
来源是什么文件,zsh
我将oh-my-zsh与zpretzo一起使用,但我一直忘了要编辑的zsh文件。 我怎样才能问外壳程序源了什么源文件?
12 shell  zsh 

2
&>>&和2>&1之间的重定向差异
在该SO线程和其他一些线程上,我已经看到以下用于重定向stdout和stderr到文件的命令。 它们都相等吗?它们之间有什么区别吗? command1 >> logfile 2>&1 command &> logfile command >& logfile

3
清除或禁用zsh中的别名
我安装了oh-my-zsh,使终端的使用更加轻松。不过,令我困扰的一件事是它添加的多产别名,例如“ ga”,“ gap”,“ gcmsg”,“ _”,这些别名比原始命令更难记,并且污染了命令哈希表。 那么有没有一种方法可以完全禁用别名呢?还是一种清除所有别名以便将其放入我的方式.zshrc?
12 shell  zsh  alias  oh-my-zsh 

3
在zsh命令行中解析所有别名
我有嵌套的别名,我想在执行命令之前解决所有别名。我怎么做? 如果有没有绑定到任何键的功能,那M-x foobar对我也很好。我甚至可以使用外部命令(type,command,which,等等)。我尝试了线程中的所有内容,为什么不使用“哪个”呢?那要用什么呢?但没有任何效果。
12 zsh  alias 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.