标签: zsh-zle

zsh:启动命令时使用当前时间更新提示

我有一个zsh提示我更喜欢:它评估当前时间precmd并显示在提示的右侧:

[Floatie:~] ^_^ 
cbowns%                      [9:28:31 on 2012-10-29]
Run Code Online (Sandbox Code Playgroud)

然而,这不是正是我想要的:你可以看到下面,这个时候实际上是将以往的命令退出,而不是命令开始的时间的时间:

[Floatie:~] ^_^ 
cbowns% date                           [9:28:26 on 2012-10-29]
Mon Oct 29 09:28:31 PDT 2012
[Floatie:~] ^_^ 
cbowns% date                           [9:28:31 on 2012-10-29]
Mon Oct 29 09:28:37 PDT 2012
[Floatie:~] ^_^ 
cbowns%                                [9:28:37 on 2012-10-29]
Run Code Online (Sandbox Code Playgroud)

在shell启动新命令之前是否有一个挂钩zsh来运行命令,以便我可以更新提示时间戳呢?(我在zsh提示符中看到了持续更新的时钟?但是我不需要它不断更新,只是在我按下回车时更新.)

(^_^它基于前一个命令的返回代码.;_;当存在非零退出状态时,它显示为红色.)

zsh prompt zsh-zle

33
推荐指数
6
解决办法
9548
查看次数

zsh bindkey命令列表

我在哪里可以找到zsh可以使用的命令列表bindkey,并附有说明?

每次我查找某些标准动作的名称(例如end-of-line)时,我都需要谷歌并猜测找到的命令是我所寻找的.

相关:

zsh zsh-zle

25
推荐指数
4
解决办法
2万
查看次数

只有在ZLE处于活动状态时才能调用小部件

我已经处理了这个问题差不多一个月了,我感到很沮丧,任何帮助都会非常感激.

我正在尝试为我的takenote命令编写一个小部件.小部件的目的是将文件~/notes夹中的所有markdown文件提供fzf给用户,以便用户可以选择其中一个并开始编辑它.在用户输入takenote并按下之后,<tab>我希望小部件能够运行.

这是_takenote.zsh小部件定义:

#compdef takenote
local file=$( find -L "$HOME/notes/" -print 2> /dev/null | fzf-tmux +m )
zle reset-prompt
compadd $file
return 1
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的代码不起作用,因为zle reset-prompt,如果我删除它然后结果将是这样的:

在选择之前

选择文件后,它将变成:

选择文件后

如您所见,将破坏提示和命令本身.在我看来,我需要做的是zle reset-prompt 在调用之前做一个compadd但这只有在我将函数绑定到一个键时才能工作,否则,我将得到以下错误:

只有在ZLE处于活动状态时才能调用小部件

zsh widget completion fzf zsh-zle

18
推荐指数
2
解决办法
914
查看次数

ZSH on 10.9:只有在ZLE处于活动状态时才能调用小部件

我是ZSH的新手,并且一直在OSX 10.9上使用oh-my-zsh来朗读ZSH.我一直试图利用历史插件,但我得到了这个,"只有在ZLE处于活动状态时才能调用小部件." 调用任何与历史相关的命令时.我找了一种方法来规避这个问题,但一直没能找到解决办法.

zsh zsh-zle

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

在从历史记录中提取的多行zsh命令中插入换行符

有时我在zsh以下方面使用多行命令:

? echo \
> a \
> multiline \
> command
Run Code Online (Sandbox Code Playgroud)

从历史搜索中拉出命令后编辑命令时,我可以更改各行的内容.但是,我无法弄清楚如何插入另一行:

# I want to insert another line after "multiline"...
? echo \
> a \
> multiline \  # but hitting <return> here just runs the command, even though there's a backslash at the end of the line
> command
Run Code Online (Sandbox Code Playgroud)

如何在从历史记录中拉出的多行命令的中间插入换行符?

zsh zsh-zle

14
推荐指数
3
解决办法
6281
查看次数

解释zsh bindkey转义序列

我经常在网络上找到有趣的zsh键绑定设置(通过bindkey命令).我的问题是如何解释这些转义序列映射到的内容?例如,这是一个来自oh-my-zshkey-bindings.zsh的片段

bindkey "^[[H" beginning-of-line
bindkey "^[[1~" beginning-of-line
bindkey "^[[F"  end-of-line
bindkey "^[[4~" end-of-line
Run Code Online (Sandbox Code Playgroud)

是否有关于这些键映射如何表示的参考?此外,它是特定于zsh还是特定于平台?

我知道我可以使用其中一个catCtrl-V来查找某些键的相应转义序列.鉴于我可以通过暴力来找到反向匹配,但这不适用于键盘上不存在的键(例如Mac笔记本电脑上的Home/End).因此,我更喜欢无论物理键盘如何都可以确定键的方法.

zsh keymapping key-bindings zsh-zle

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

zsh:如何取回'未扩展'命令

Zsh具有扩展球体的一个很好的功能.例如,击球Tabls **/*.js

ls app/assets/javascripts/application.js vendor/assets/javascripts/Markdown.Converter.js
Run Code Online (Sandbox Code Playgroud)

有没有办法将其折叠回原始的glob版本?或者我应该禁用glob扩展?

我想要它的原因是,当我正在调试一个glob并且我Tab只是为了仔细检查一些东西时,没有办法找回并完成模式.我必须从头开始.

zsh zsh-zle

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

每个命令后zsh new line prompt

我可以配置我的提示以在每个命令后显示一个新行吗?

举个例子.在下面的截图中,我确实运行了cat .zshrc.我希望在命令的最后一个输出行之间有一个新行. ~/.zsh_aliases,和~ $.

在此输入图像描述

zsh zsh-zle

9
推荐指数
5
解决办法
7014
查看次数

在zsh提示符中不断更新时钟?

我知道我可以date在zsh提示符下执行命令.然而,它显示了时代; 要查看当前时间,我必须按当前时间点击<return>并获得新提示.

有没有办法配置zsh提示每秒不断更新自己?

zsh prompt zsh-zle

8
推荐指数
3
解决办法
5148
查看次数

Zsh zle班次选择

如何使用shift来选择命令行的一部分(就像许多文本编辑器一样)?

shell zsh zsh-zle

7
推荐指数
4
解决办法
3077
查看次数

标签 统计

zsh ×10

zsh-zle ×10

prompt ×2

completion ×1

fzf ×1

key-bindings ×1

keymapping ×1

shell ×1

widget ×1