web-dev-qa-db-ja.com

現在の日付/時刻をclink / cmderプロンプトに追加する方法

私は clink 素晴らしい cmder パッケージを介してかなり幸せなユーザーです。私が見逃している唯一のことは、現在の日付/時刻(およびbash...などの最後の終了コード、履歴番号)を表示するようにコマンドプロンプトを設定する簡単な方法です。

誰かが私にこれを行う方法について正しい方向を示すことができますか?

11
Zsolt Botykai

このプロンプト設定を試してください(例のみ、「プロンプト印刷」内でコンソールアプリケーションを呼び出す方法を示しています)。注意! 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を編集する必要があります。

8
Maximus

Maximus によって提供された回答は、cmder1.3+では無効になりました

cmderconfigフォルダ内に.luaファイル(例:my_Prompt.lua)を作成する必要があります。カスタマイズした定義 (source)

私のカスタマイズの下:

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
10
Gruber

Cmderの1行の変更。それを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 $>
0
Stan Gabenov

ここでの解決策はどれもうまくいかなかったので、.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}は、現在の時刻を表示するものです(通常、タスクを開始してからどれだけの時間が経過したかを知る必要があるため、日付は気にしないでください)。

もちろん、これによってすべてのgitbash端末のプロンプトが自動的に変更されるわけではありません。変更するには、デフォルトのプロンプトでmypromptコマンドを実行する必要があります。上記のエクスポートを.bashrcファイル内で実行しようとしましたが、エラーが発生していました。多分誰かがそれを回避する方法についてより良い考えを持っているでしょう。

0
AsGoodAsItGets