Como adicionar data / hora atuais ao prompt de clink / cmder

9

Sou um usuário bastante feliz de tilintar por meio do excelente cmder . A única coisa que sinto falta é uma maneira fácil de configurar o comando promt para exibir a data / hora atual (e o último código de saída, o número do histórico, como em bash ... etc).

Alguém poderia me apontar a direção certa sobre como fazer isso?

    
por Zsolt Botykai 16.01.2014 / 14:58

3 respostas

8

Tente estas configurações de prompt (apenas no exemplo, é mostrado como você pode chamar qualquer aplicativo de console dentro da "impressão de prompt"). Nota! Funciona apenas no ConEmu.

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

Mas, como Bob disse, há uma maneira mais fácil:

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

E para cmder , você deve editar o init.bat fornecido, pois isso define as configurações de prompt.

    
por 16.01.2014 / 16:19
9

A resposta fornecida por Maximus não é mais válida para cmder 1.3 +

Você precisa criar um arquivo .lua (por ex. my_prompt.lua ) dentro da sua pasta cmder config com sua definição personalizada (fonte) .

Abaixo da minha personalização:

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)

E este é o prompt resultante

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

Você pode encontrar mais opções de personalização para a saída de tempo no Manual de Lua

atualizar para comentário denunciado erro

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
    
por 25.03.2017 / 21:04
0

Uma modificação de linha para o cmder. Coloque-o em 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)

resultado:

C:\Users\user1 $>
C:\Users\user1 $> date
The current date is: 02.02.2018
C:\Users\user1 $>
    
por 02.02.2018 / 15:25