如何将当前日期/时间添加到 clink/cmder 提示符中

如何将当前日期/时间添加到 clink/cmder 提示符中

我是一个相当快乐的用户碰杯通过伟大的康德包。我唯一想念的是一种简单的方法来设置命令提示符以显示当前日期/时间(以及最后退出代码、历史记录编号,如bash...等)。

有人能指出我如何做到这一点的正确方向吗?

答案1

尝试此提示设置(仅作为示例,它展示了如何在“提示打印”中调用任何控制台应用程序)。注意!它仅适用于 ConEmu。

prompt $p$s$e]9;7;"cmd /c echo (%DATE% %TIME%)"$e\$g

但是,正如鲍勃所说,有一种更简单的方法:

prompt $p$s$d$s$t$s$g

并且cmder您应该编辑init.bat所提供的定义提示设置的内容。

答案2

答案由马克西姆斯不再有效康德1.3+

你必须在你的里面创建一个.lua文件(例如my_prompt.lua康德 config具有您自定义定义的文件夹(来源)

以下是我的定制:

function custom_prompt()
  cwd = clink.get_cwd()
  prompt = "\x1b[1;32;40m{cwd} {git}{hg} \n\x1b[1;30;40m{time}\n{lamb} \x1b[0m"
  new_value = string.gsub(prompt, "{cwd}", cwd)
  add_time = string.gsub(new_value, "{time}", os.date("%x - %X"))
  clink.prompt.value = string.gsub(add_time, "{lamb}", "λ")
end

clink.prompt.register_filter(custom_prompt, 1)

这是结果提示

C:\
03/25/17 - 20:56:14
λ

您可以在Lua 手册


更新评论报告的错误

function time_prompt()
    os.setlocale ("", "time")
    local cwd = clink.get_cwd()
    local prompt = "\x1b[1;32m{cwd} {git}{hg} \n\x1b[30m{time}\n{lamb} \x1b[0m"
    local new_value = string.gsub(prompt, "{cwd}", cwd)
    local add_time = string.gsub(new_value, "{time}", os.date("%x - %X"))
    clink.prompt.value = string.gsub(add_time, "{lamb}", "λ")
end

答案3

对 cmder 进行一行修改。将其放入 cmder\config\my_config.lua 中

function my_prompt_filter()
    cwd = clink.get_cwd()
    prompt = "\x1b[1;32;40m{cwd}{git}{hg} $> \x1b[33;40m"
    new_value = string.gsub(prompt, "{cwd}", cwd)
    clink.prompt.value = string.gsub(new_value, "{lamb}", "λ")
end

clink.prompt.register_filter(my_prompt_filter, 1)

结果:

C:\Users\user1 $>
C:\Users\user1 $> date
The current date is: 02.02.2018
C:\Users\user1 $>

答案4

这里的所有解决方案都不适合我,所以我最终在我的中添加了以下行.bashrc

alias myprompt='export PS1="\[\e]9;9;"\w"\007\e]9;12\007\]\[\033]0;$MSYSTEM:${PWD//[^[:ascii:]]/?}\007\]\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\] \D{%T}\nλ "'

最后一部分\D{%T}显示当前时间(不关心日期,因为通常我需要知道自我开始一项任务以来已经过去了多少时间)。

当然,这并不会自动更改所有 git bash 终端上的提示。您必须myprompt在默认提示上执行命令才能更改它。我尝试在文件内执行上述导出.bashrc,但出现了错误。也许有人会对如何解决这个问题有更好的想法。

相关内容