Kodes / cmder istemine geçerli tarih / saat nasıl eklenir


12

Ben oldukça mutlu kullanıcısıyım Polislik harika aracılığıyla cmder paketinin. Kaçırdığım tek şey, komut istemini geçerli tarih / saati (ve son çıkış kodu, geçmiş numarası, bash... vb.) Görüntüleyecek şekilde ayarlamanın kolay bir yoludur .

Birisi bunun nasıl yapılacağına dair beni doğru yöne yönlendirebilir mi?


Sadece Windows'u kullanabilir misin date /t? Ayrıca %errorlevel%sh kullanılırken Windows son çıkış kodunu saklar $?. Bunları deneyin.
Bob

Ancak bu çıktıyı isteme nasıl entegre edebilirim? date /tUzun süren bir komut çalıştırmadan önce her zaman çalıştırmak istemiyorum .
Zsolt Botykai

Ah. Gidip prompt /?bir tarih ve saat seçeneği var. Yine, bu standart Windows komut istemi - clink veya cmder ne yaptığını bilmiyorum.
Bob

Yanıtlar:


9

Bu istem ayarlarını deneyin (yalnızca örnek olarak, "istem yazdırma" içindeki herhangi bir konsol uygulamasını nasıl arayabileceğinizi gösterir). Not! Yalnızca ConEmu'da çalışır.

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

Ancak Bob'un dediği gibi, daha kolay bir yol var:

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

Ve cmdersizin için verilen init.batbilgi istemi ayarlarını tanımladığı şekilde düzenlemelisiniz.


Cmder için, bilgi istemi ayarlarını düzenlemenin önerilen yolu vardır %CMDER_ROOT%\config\user-startup.cmdve değildir init.bat.
wegry

Cmder ile win7, $tbenim için hile yaptı:@prompt $E[1;32;40m$P$S{git}{hg} $t$S$_$E[1;30;40m{lamb}$S$E[0m
Benj

@wegry bu %CMDER_ROOT%\config\user-startup.cmddosyanın yapılandırmam üzerinde herhangi bir etkisi yok gibi görünüyor. Belki de yanlış yapıyordum.
Benj

@Benj İlk başta benim için işe yaramadı, ama daha sonra yeniden başlattı mı? Çalışmaya başlayan şeyden gizem duyuyorum.
wegry

2
2018'de benim prompt cmd /c echo ($t$s) :$p$giçin user-profile.cmddosyaya eklemek için çalıştım (windows10).
Edwin

10

Tarafından sağlanan cevap Maximus artık geçerlidir cmder 1.3+

Özel tanımınızla (kaynak) cmder klasörünüzün içinde bir .luadosya (ör. İçin my_prompt.lua) oluşturmanız gerekir . config

Özelleştirmem altında:

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)

Ve bu ortaya çıkan istem

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

Zaman çıktısı için daha fazla özelleştirme seçeneği Lua kılavuzunda bulabilirsiniz


yorum bildirilen güncelleme hatası

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

Maximus cevabı doğru, ama bu en iyi cevap!
AuthorProxy

D:\Tools\cmder\config\my_prompt.lua:1: unexpected symbol near char(255) istemi şöyle görünür: `` 1: 26.51) "← \`
Şeytanın Avukatı

mmm Bunun ne olduğunu bilmiyorum, ama lua dosyamı tekrar kontrol ediyorum tam olarak gönderdiğim eski kod gibi değil, şimdi güncellediğim kodu kullanıp kullanmadığınızı söyleyin.
Gruber

@ Maximwin in Maximus'un cevabı benim için çalıştı. prompt cmd /c echo ($t$s) :$p$ginuser-profile.cmd
Devil's Advocate

Bu tek başına git git bash isteminde cmder hiçbir şey değişmez. Cmder başlangıçta config klasöründeki tüm .lua dosyalarını okumalı ve yürütmelidir?
AsGoodAsIt,

0

Cmder için bir satır modifikasyon. Cmder \ config \ my_config.lua dosyasına koyun

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)

sonuç:

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

0

Buradaki çözümlerin hiçbiri benim için çalışmadı, bu yüzden şu satırı ekledim .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λ "'

Bu son bölüm \D{%T}şimdiki zamanı gösteren şeydir (tarihi umursamıyorum, çünkü genellikle bir göreve başladığımdan beri ne kadar zamanın elipte olduğunu bilmem gerekiyor).

Tabii ki, bu tüm git bash terminallerindeki istemi otomatik olarak değiştirmez. mypromptKomutu değiştirmek için varsayılan komut isteminde yürütmeniz gerekir. Sadece .bashrcdosya içinde yukarıdaki ihracat yapmaya çalıştım ama bir hata alıyordum. Belki birileri bunun üstesinden gelmek için daha iyi bir fikre sahip olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.