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

Zso*_*kai 13 windows command-line clink cmder

通过伟大的cmder包,我是一个相当高兴的clink用户。我唯一想念的是设置命令提示符以显示当前日期/时间(以及上次退出代码、历史记录编号,如...等)的简单方法。bash

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

Gru*_*ber 10

Maximus提供的答案不再适用于cmder 1.3+

您必须使用自定义定义(源)cmder文件夹中创建一个.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)
Run Code Online (Sandbox Code Playgroud)

这是结果提示

C:\
03/25/17 - 20:56:14
?
Run Code Online (Sandbox Code Playgroud)

您可以在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
Run Code Online (Sandbox Code Playgroud)


Max*_*mus 9

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

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

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

prompt $p$s$d$s$t$s$g
Run Code Online (Sandbox Code Playgroud)

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

  • 在 2018 年,我使用 `prompt cmd /c echo ($t$s) :$p$g` 添加到 `user-profile.cmd` 文件 (windows10)。 (2认同)