9

Я довольно счастливым пользователем звоном через большой cmder пакет. Единственное, что мне не хватает, - это простой способ настроить командную строку для отображения текущей даты / времени (и последнего кода выхода, номера истории, как в bash ... и т.д.).

Может ли кто-нибудь указать мне правильное направление, как это сделать?

3 ответа3

9

Ответ от Maximus больше не действителен для cmder 1.3+

Вы должны создать файл .lua(например, my_prompt.lua) в папке config cmder с вашим настроенным определением (источник).

Ниже моей настройки:

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
8

Попробуйте настройки этого приглашения (только в качестве примера, оно показывает, как вы можете вызывать любое консольное приложение внутри "печати приглашения"). Заметка! Работает только в 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 как он определяет настройки приглашения.

0

Модификация одной строки для 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 $>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .